| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Change-Id: I8b22bcb4816fca5e0b92fee4b2ccb0ef135be5a9
Signed-off-by: Dima Zavin <dima@android.com>
|
| |
|
|
|
| |
use 64 bytes cache lines, reduce the main loop to 64-bytes instead of
128 bytes and adjust the prefetch distance to the optimal value.
|
| |\
| |
| |
| |
| |
| | |
* 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
|
| | |
| |
| |
| | |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
-- 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>
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| | |
|
| |\
| |
| |
| |
| | |
* changes:
Allow the dynamic linker to relocate references to thumb symbols in NDK libraries.
|
| | |
| |
| |
| |
| |
| |
| | |
libraries.
The lowest bit of the symbol's value should be ignored when looking at UNDEF symbols
for correctness. It is used as an ARM/Thumb flag by the linker.
|
| | |
| |
| |
| |
| | |
Change-Id: I58c6eb0d417d5a30fa245f693304a147631fd07f
Signed-off-by: Dima Zavin <dima@android.com>
|
| |/
|
|
| |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
| |
|
|
|
| |
Change-Id: I530cea1110fc6e6ccf150e6b176e708030ce8a94
Signed-off-by: Dima Zavin <dima@android.com>
|
| |
|
|
|
|
|
| |
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.
|
| |\
| |
| |
| |
| |
| |
| | |
* 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""
|
| | |
| |
| |
| | |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
| | | |
|
| | |
| |
| |
| | |
This reverts commit 33acbf0719c4f3db059bc9e1f52cf554a5d0295f.
|
| |\ \
| |/
|/|
| |
| | |
* changes:
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
|
| |/
|
|
|
| |
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.
|
| |
|
|
| |
This reverts commit 8d0c0334f1106d36f2fd5c1cf6d5dc75a4b88850.
|
| |\
| |
| |
| |
| | |
* changes:
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>
|
| |/ |
|
| | |
|
| |\
| |
| |
| |
| | |
* changes:
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
|
| |/
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Change-Id: I653d638353d9246287bcf568bbffd0f5dbc64019
Signed-off-by: Dima Zavin <dima@android.com>
|
| |
|
|
| |
So that the real culprit of native crashes can surface in the stack trace.
|
| |
|
|
| |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
| |\
| |
| |
| |
| | |
* changes:
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
|
| |/
|
|
| |
Signed-off-by: Erik Gilling <konkers@android.com>
|
| |\
| |
| |
| |
| | |
* changes:
Neon-optimized versions of memcpy.
|
| | |
| |
| |
| |
| |
| |
| | |
This optimization come from the external 0xdroid repository.
Original patch can be found here:
http://gitorious.org/0xdroid/bionic/commit/ebafe41c2c02f8c09a3c1d7746047083df180ac5
|
| |/
|
|
|
| |
Change-Id: Ib6cd13e86cea84c1cc0901dee3e9ef05eb8279cd
Signed-off-by: Dima Zavin <dima@android.com>
|
| |
|
|
| |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
| |
|
|
| |
Signed-off-by: Dima Zavin <dima@android.com>
|
| |
|
|
| |
Signed-off-by: Erik Gilling <konkers@android.com>
|
| |\
| |
| |
| |
| | |
* changes:
Don't request IPv6 addresses if AI_ADDRCONFIG is specified and the system has no IPv6 connectivity.
|
| | |
| |
| |
| | |
has no IPv6 connectivity.
|
| |\ \ |
|
| | |\ \
| | | |
| | | |
| | | |
| | | | |
* changes:
Add mspace_merge_objects
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: Dima Zavin <dima@android.com>
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: Dima Zavin <dima@android.com>
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
* changes:
Fix strftime to use localized month names.
|