Merge commit '763ac28357f604e0e4196e0a7ad5b0f5cdcf274a' into eclair-plus-aosp
* commit '763ac28357f604e0e4196e0a7ad5b0f5cdcf274a':
bionic/linker: make the buddy allocator compute max_order on its own
bionic/linker: change the buddy allocator to take a handle to the managed area
* changes:
bionic/linker: make the buddy allocator compute max_order on its own
bionic/linker: change the buddy allocator to take a handle to the managed area
Merge commit '96bbbe21778fc3f4a932822c2436238d6ce5721b' into eclair-plus-aosp
* commit '96bbbe21778fc3f4a932822c2436238d6ce5721b':
Wrap ARM abort() to improve stack trace.
The code generated for Thumb and Thumb2 targets has different handling
for abort(). Because abort() is "noreturn", it doesn't need to preserve
the callee-save registers. The Thumb2 version trashes LR and makes it
impossible to figure out who called abort().
This inserts a trivial stub function; net effect is stack traces are
reasonable after an abort().
For bug 2191452.
Eclair branch Dr. No approved by: hiroshi
-- rename struct ba_info to struct ba
-- move the static ba descriptor from ba.c to linker.c and rename it ba_prelink
-- ba_init, ba_allocate, ba_free, ba_start_addr, and ba_len all take a pointer
to struct ba
Signed-off-by: Iliyan Malchev <malchev@google.com>
Merge commit '7e7d6c48a064af82f0ec39f47b9eb803a6e1df4c' into eclair-plus-aosp
* commit '7e7d6c48a064af82f0ec39f47b9eb803a6e1df4c':
use local symbols in memset so it doesn't screw up profiling
Merge commit 'ff7b46b87c4d85881d88c2105a94be6c6accb628' into eclair-plus-aosp
* commit 'ff7b46b87c4d85881d88c2105a94be6c6accb628':
Allow the dynamic linker to relocate references to thumb symbols in NDK libraries.
Merge commit '5c32826841460294cfba98ff713b4804512bacd1' into eclair-plus-aosp
* commit '5c32826841460294cfba98ff713b4804512bacd1':
libc: kernel: add linux/msm_q6venc.h kernel include for qsd8k h/w video encode
the issue here is that abort() can be called from anywhere, in particular
from malloc or free. When we try to use the debug_log functions, these
can end up calling into some code (like malloc/free) that called abort()
in the first place and end up in an infinite recursion loop.
Do not submit this patch before the one that modifies the Android emulator to
work-around a weird ARMv7 emulation issue. This is done to temporarily re-allow
the -user builds needed for QA.
This is required to work-around some corny bugs in ARMv7 emulation.
The emulation itself is required to run the dex pre-optimization pass
for -user builds.
Merge commit 'fe46030cdd97f9cf810630541df367dd2b85cae9' into eclair-plus-aosp
* commit 'fe46030cdd97f9cf810630541df367dd2b85cae9':
bionic/linker: allow resolving of symbols from library back to executable
bionic/linker: change lookup() to return soinfo, not base
Revert "Revert "bionic/linker: fix symbol lookup during relocations""
* changes:
bionic/linker: allow resolving of symbols from library back to executable
bionic/linker: change lookup() to return soinfo, not base
Revert "Revert "bionic/linker: fix symbol lookup during relocations""
Merge commit '7a9e06fa7e4e533074cde314f25dff3024f34a5d' into eclair-plus-aosp
* commit '7a9e06fa7e4e533074cde314f25dff3024f34a5d':
Fix ABI breakage in libc.so and libm.so between 1.6 and Eclair.
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.
Merge commit '33acbf0719c4f3db059bc9e1f52cf554a5d0295f' into eclair-plus-aosp
* commit '33acbf0719c4f3db059bc9e1f52cf554a5d0295f':
Revert "bionic/linker: fix symbol lookup during relocations"
Merge commit '4e5a965d6a4c4a0c7977cc9b90755027130c1e46' into eclair-plus-aosp
* commit '4e5a965d6a4c4a0c7977cc9b90755027130c1e46':
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>