Commit Graph

34118 Commits

Author SHA1 Message Date
David 'Digit' Turner 2a7ad97539 Fix ABI breakage in libc.so and libm.so between 1.6 and Eclair.
For a detailed description of the problem and why this fix is
needed, plrease read the comments in libgcc_compat.c
2009-09-29 14:43:38 -07:00
Iliyan Malchev 4a9afcb101 bionic/linker: allow resolving of symbols from library back to executable
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-09-29 14:33:46 -07:00
Iliyan Malchev 9ea64da6c5 bionic/linker: change lookup() to return soinfo, not base 2009-09-29 14:33:46 -07:00
Iliyan Malchev 6ed80c8814 Revert "Revert "bionic/linker: fix symbol lookup during relocations""
This reverts commit 33acbf0719.
2009-09-29 14:33:46 -07:00
Mathias Agopian 2d77d4dbd6 am ee223d02: NEON optimized memcpy.
Merge commit 'ee223d02d96815c989b62043ff1237b1cd4e14b0' into eclair-plus-aosp

* commit 'ee223d02d96815c989b62043ff1237b1cd4e14b0':
  NEON optimized memcpy.
2009-09-29 13:31:57 -07:00
Mathias Agopian ee223d02d9 NEON optimized memcpy.
372 MB/s for large transfers, 440 MB/s for smaller ones down to 1KB. 130 MB/s for very small transfers ( < 32 bytes )
Performance is similar with non-congruent buffers.
2009-09-28 19:08:18 -07:00
Shin-ichiro KAWASAKI 10093276e9 added and modified bionic code to support SuperH architecture
modified:   libc/Android.mk
    new files:   libc/arch-sh/bionic/*
    new files:   libc/arch-sh/include/*
2009-09-28 16:11:39 +09:00
Mathias Agopian 468fc8c533 am 33acbf07: Revert "bionic/linker: fix symbol lookup during relocations"
Merge commit '33acbf0719c4f3db059bc9e1f52cf554a5d0295f' into eclair-plus-aosp

* commit '33acbf0719c4f3db059bc9e1f52cf554a5d0295f':
  Revert "bionic/linker: fix symbol lookup during relocations"
2009-09-27 22:20:08 -07:00
Mathias Agopian 33acbf0719 Revert "bionic/linker: fix symbol lookup during relocations"
This reverts commit 8d0c0334f1.
2009-09-27 22:04:15 -07:00
Iliyan Malchev 76e3d69330 am 4e5a965d: Merge change 27075 into eclair
Merge commit '4e5a965d6a4c4a0c7977cc9b90755027130c1e46' into eclair-plus-aosp

* commit '4e5a965d6a4c4a0c7977cc9b90755027130c1e46':
  bionic/linker: fix symbol lookup during relocations
2009-09-27 17:35:01 -07:00
Android (Google) Code Review 4e5a965d6a Merge change 27075 into eclair
* changes:
  bionic/linker: fix symbol lookup during relocations
2009-09-27 20:23:22 -04:00
Iliyan Malchev 8d0c0334f1 bionic/linker: fix symbol lookup during relocations
When resolving relocations while loading a library, the linker used to find
symbols by looking them up in the list of all linked libraries for the current
process, as opposed to following just the library's DT_NEEDED entries.  This
can cause a problem where the symbol is picked up from the wrong library.

Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-09-27 17:18:06 -07:00
David 'Digit' Turner dfa87a200f am f355096a: Remove NEON optimizations for memcpy
Merge commit 'f355096a64b74c8e869527de55f7e908873e3128' into eclair-plus-aosp

* commit 'f355096a64b74c8e869527de55f7e908873e3128':
  Remove NEON optimizations for memcpy
2009-09-27 07:19:59 -07:00
David 'Digit' Turner f355096a64 Remove NEON optimizations for memcpy 2009-09-27 07:08:46 -07:00
David 'Digit' Turner 7e5e9f4270 am bc10cd29: Fix a typo that resulted in a crash in the boot sequence
Merge commit 'bc10cd2900cdb7fed077163b6a33e0f8572b2b19' into eclair-plus-aosp

* commit 'bc10cd2900cdb7fed077163b6a33e0f8572b2b19':
  Fix a typo that resulted in a crash in the boot sequence
2009-09-23 16:09:39 -07:00
David 'Digit' Turner bc10cd2900 Fix a typo that resulted in a crash in the boot sequence 2009-09-23 15:56:50 -07:00
David 'Digit' Turner 9641805419 am d154954f: Merge change 26419 into eclair
Merge commit 'd154954f02691618fdf73a5a97336e64cad37af0' into eclair-plus-aosp

* commit 'd154954f02691618fdf73a5a97336e64cad37af0':
  Add pthread_mutex_lock_timeout_np
2009-09-23 12:20:52 -07:00
Android (Google) Code Review d154954f02 Merge change 26419 into eclair
* changes:
  Add pthread_mutex_lock_timeout_np
2009-09-23 15:10:02 -04:00
David 'Digit' Turner 7910e39d19 resolved conflicts for merge of 4a05d12c to eclair-plus-aosp 2009-09-22 15:41:36 -07:00
David 'Digit' Turner 3f56b7f65a Add pthread_mutex_lock_timeout_np
This is used to perform a mutex lock for a given amount of
milliseconds before giving up. Using the _np prefix since this
is absolutely not portable.

Also remove a compiler warning in pthread_attr_getstackaddr
2009-09-22 15:17:50 -07:00
David 'Digit' Turner 4a05d12cf5 Fix TLS access for ARMv6 and beyond.
For performance reasons, we don't call the kernel helper. Instead, we directly
access the TLS register on ARMv6 and higher. For ARMv5TE, keep using the hard-coded
address populated by the kernel on each task switch.

NOTE: Since we don't call the kernel helper, this must precisely match your
      kernel configuration. This is controlled by setting the ARCH_ARM_HAVE_TLS_REGISTER
      variable to 'true' in your board configuration file.
2009-09-22 10:03:59 -07:00
Android Code Review 4e30c09e57 Merge change 10538
* changes:
  added syscalls for SuperH which automatically generate by gensyscalls.py
2009-09-20 23:39:18 -07:00
Dima Zavin 7ed086eb99 am 916edf2a: libc: kernel-headers: update msm_mdp.h to include premultiplied alpha
Merge commit '916edf2a3fc60e08a5f29cd322d9f2a04d15cb49' into eclair-plus-aosp

* commit '916edf2a3fc60e08a5f29cd322d9f2a04d15cb49':
  libc: kernel-headers: update msm_mdp.h to include premultiplied alpha
2009-09-20 19:21:11 -07:00
Dima Zavin 916edf2a3f libc: kernel-headers: update msm_mdp.h to include premultiplied alpha
Change-Id: I653d638353d9246287bcf568bbffd0f5dbc64019
Signed-off-by: Dima Zavin <dima@android.com>
2009-09-20 19:11:18 -07:00
Android Code Review 5632aeb838 Merge change 10539
* changes:
  modified kernel headers re-generate tools to support SuperH architecture
2009-09-17 13:43:08 -07:00
Android Code Review 5672726b44 Merge change 10587
* changes:
  Fill l_ld of linkmaps with value from soinfo::dynamic.
2009-09-16 17:40:39 -07:00
Jean-Baptiste Queru 895244b2ab merge from open-source master 2009-09-16 16:21:35 -07:00
vinay harugop a246a71975 Linux kernel helpers support is provided to android for its TLS implementation. This fix addresses this by modifying
the TLS access functions to use the kernel helper.
This Fix is verified on ST Ericsson's U8500 platform and Submitted on behalf of a third-party:
Surinder-pal SINGH from STMicroelectronics.
2009-09-16 14:38:40 -07:00
Thinker K.F Li 5cf640c926 Fill l_ld of linkmaps with value from soinfo::dynamic.
GDB will try to read l_ld of linkmaps and compare the value to vma of
.dynamic sections from shared objects.  Since linker does not assign l_ld,
GDB will complain about and re-compute l_addr from l_ld.  And, GDB will get a
wrong value.
2009-09-15 17:05:55 -07:00
Android Code Review c7f65a01e5 Merge change 10541
* changes:
  added and modified libdl to support SuperH architecture
2009-09-15 16:53:18 -07:00
Android Code Review 77e9c05988 Merge change 10542
* changes:
  added and modified libm to support SuperH architecture
2009-09-15 16:53:01 -07:00
Android Code Review 252c576d7e Merge change 11671
* changes:
  Define 64 bit types if compiling with -std=c99
2009-09-15 16:43:44 -07:00
Ben Cheng b8a18d059b am bd192b47: Add stack unwinding directives to assembly leaf functions.
Merge commit 'bd192b470b69e00e9313680b70c5572a609e535d' into eclair-plus-aosp

* commit 'bd192b470b69e00e9313680b70c5572a609e535d':
  Add stack unwinding directives to assembly leaf functions.
2009-09-15 14:51:10 -07:00
Ben Cheng bd192b470b Add stack unwinding directives to assembly leaf functions.
So that the real culprit of native crashes can surface in the stack trace.
2009-09-15 13:41:14 -07:00
Jean-Baptiste Queru cdeb4c8afa merge from open-source master 2009-09-15 07:51:39 -07:00
Matthieu CASTET a4e67f4512 Remove code duplication for pthread_cond_timeout_np : use __pthread_cond_timedwait_relative helper 2009-09-14 09:19:42 -07:00
Martin Storsjo c88110e284 Define 64 bit types if compiling with -std=c99
Compiling with -std=c99 defines __STRICT_ANSI__, but the 64 bit types
and type macros should still be defined in this case.

This helps compiling third party code that needs -std=c99 with the NDK.
2009-09-14 16:45:50 +02:00
Iliyan Malchev 664dac1e95 am 82420129: bionic: update processed msm_camera.h
Merge commit '824201294b5f3c3ad6ca9d9751d96f78142c5409' into eclair-plus-aosp

* commit '824201294b5f3c3ad6ca9d9751d96f78142c5409':
  bionic: update processed msm_camera.h
2009-09-11 00:39:49 -07:00
Iliyan Malchev 824201294b bionic: update processed msm_camera.h
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-09-11 00:29:59 -07:00
David 'Digit' Turner 0dfd94cff4 am 4e57cf3f: Merge change 24463 into eclair
Merge commit '4e57cf3f8c0b696f117579c8165b13c8d32b9b5d' into eclair-plus-aosp

* commit '4e57cf3f8c0b696f117579c8165b13c8d32b9b5d':
  Fix an infinite loop in time2sub.
2009-09-09 18:01:11 -07:00
Android (Google) Code Review 4e57cf3f8c Merge change 24463 into eclair
* changes:
  Fix an infinite loop in time2sub.
2009-09-09 20:53:15 -04:00
David 'Digit' Turner 2093d350be Fix an infinite loop in time2sub.
The problem is that time_t is signed, and the original code relied on the
fact that (X + c < X) in case of overflow for c >= 0. Unfortunately, this
condition is only guaranteed by the standard for unsigned arithmetic, and
the gcc 4.4.0 optimizer did completely remove the corresponding test from
the code. This resulted in a missing boundary check, and an infinite loop.

The problem is solved by testing explicitely for TIME_T_MIN and TIME_T_MAX
in the loop that uses this.

Also fix increment_overflow and long_increment_overflow which were buggy
for exactly the same reasons.

Note: a similar fix is needed for system/core/libcutils
2009-09-09 17:45:00 -07:00
Erik Gilling 842cdcd2f6 am 9e74f697: libc: add void to clock() function prototype
Merge commit '9e74f697e0178a0e9b6133a2b270cc7fed9920bf' into eclair-plus-aosp

* commit '9e74f697e0178a0e9b6133a2b270cc7fed9920bf':
  libc: add void to clock() function prototype
2009-09-09 15:13:56 -07:00
Erik Gilling 9e74f697e0 libc: add void to clock() function prototype
Signed-off-by: Erik Gilling <konkers@android.com>
2009-09-09 14:58:19 -07:00
vinay harugop 76ec6891e2 ARM architecture reference manuals for ARMv6 & ARMv7 state that the use of 'swp' instruction is deprecated
ARMv6 onwards. These architectures provide the load-linked, store-conditional pair of ldrex/strex whose use
is recommended in place of 'swp'. Also, the description of the 'swp' instruction in the ARMv6 reference
manual states that the swap operation does not include any memory barrier guarantees.This fix attempts to
address these issues by providing an atomic swap implementation using ldrex/strex under _ARM_HAVE_LDREX_STREX
macro.  This Fix is verified on ST Ericsson's U8500 platform and Submitted on behalf of a third-party:
Surinder-pal SINGH from STMicroelectronics.
2009-09-09 21:01:46 +05:30
David 'Digit' Turner c0ed422958 am b4423ff7: Merge change 22848 into eclair
Merge commit 'b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c' into eclair-plus-aosp

* commit 'b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c':
  Neon-optimized versions of memcpy.
2009-09-02 15:09:19 -07:00
Android (Google) Code Review b4423ff7df Merge change 22848 into eclair
* changes:
  Neon-optimized versions of memcpy.
2009-09-02 15:06:32 -07:00
David 'Digit' Turner 1bbc56cd22 Neon-optimized versions of memcpy.
This optimization come from the external 0xdroid repository.
Original patch can be found here:

ebafe41c2c
2009-09-02 23:21:52 +02:00
Jean-Baptiste Queru 00fb8b45d9 merge from open-source master 2009-09-01 08:27:42 -07:00
Shin-ichiro KAWASAKI ce0595d01d modified SYSCALLS.TXT to support SuperH architecture 2009-09-01 19:03:06 +09:00