| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
| |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
|
|
|
| |
This reverts commit 754c178ae551aedcbbfd3bfd1c1c3b710d9ad989.
Turns out we don't need it afterall (needed a stable sort anyways).
So, we'll make that change in the dev branch instead.
|
|
|
|
|
|
| |
NOTE: This replaces qsort.c with the FreeBSD version. While
the patch changes the source, it should not alter the
implementation that should use the exact same algorithm.
|
|\
| |
| |
| |
| | |
* changes:
libc: kernel: Update msm_kgsl.h header
|
| |
| |
| |
| |
| | |
Change-Id: Ifa58a406c9419c5ad73a1f9456add6dd54bfb2ba
Signed-off-by: Dima Zavin <dima@android.com>
|
|/
|
|
| |
Merged from eclair-mr2
|
|
|
|
| |
The 64-bit data is not currently being used and more than doubles the size.
|
|
|
|
|
|
|
|
| |
ZoneCompactor was using the system time zone database to get the offsets
instead of using the data it was compiling, so for newly added or recently
changed zones the index could be inconsistent with the data.
Affected zones: San_Luis, Casey, Davis, Mawson, Kathmandu, Novokuznetsk
|
|
|
|
| |
http://b/issue?id=2272477
|
|
|
|
|
| |
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>
|