OSDN Git Service
Elliott Hughes [Tue, 23 Sep 2014 01:19:51 +0000 (01:19 +0000)]
Merge "Fix a couple more cases of missing CLOEXEC."
Elliott Hughes [Tue, 23 Sep 2014 00:43:09 +0000 (17:43 -0700)]
Fix a couple more cases of missing CLOEXEC.
The debuggerd case can probably never happen, because you're crashing at this
point anyway. The system property one seems possible though.
Change-Id: Idba6a4f1d68587ec5b320d1e25f0b6a987ea32a0
Elliott Hughes [Mon, 22 Sep 2014 23:28:32 +0000 (23:28 +0000)]
Merge "Test pthread_cleanup_push(3)/pthread_cleanup_pop(3)."
Elliott Hughes [Mon, 22 Sep 2014 23:01:26 +0000 (16:01 -0700)]
Test pthread_cleanup_push(3)/pthread_cleanup_pop(3).
Change-Id: I5a623fa1e1da55f11d51f3a9bdfa0627698c486f
Elliott Hughes [Mon, 22 Sep 2014 22:50:10 +0000 (22:50 +0000)]
Merge "Clean up fpathconf(3)/pathconf(3)."
Elliott Hughes [Mon, 22 Sep 2014 21:49:07 +0000 (14:49 -0700)]
Clean up fpathconf(3)/pathconf(3).
fpathconf(3) and pathconf(3) can share code. There's no such
header file as <pathconf.h>. glibc/POSIX and BSD disagree about where
the _POSIX_* definitions should go.
Change-Id: I4a67f1595c9f5fbb26700a131178eedebd6bf712
Elliott Hughes [Mon, 22 Sep 2014 21:46:55 +0000 (21:46 +0000)]
Merge "Unit test for abort(3)."
Elliott Hughes [Mon, 22 Sep 2014 21:41:30 +0000 (14:41 -0700)]
Unit test for abort(3).
Change-Id: I021604b977572801f228a193741624df26e76d72
Elliott Hughes [Mon, 22 Sep 2014 16:51:07 +0000 (16:51 +0000)]
Merge "Use the uapi fs magic in <sys/vfs.h>."
Elliott Hughes [Sat, 20 Sep 2014 03:36:03 +0000 (20:36 -0700)]
Use the uapi fs magic in <sys/vfs.h>.
Change-Id: I712b856a6d786bba400c9a8d08f596b826403731
Elliott Hughes [Sat, 20 Sep 2014 01:34:11 +0000 (01:34 +0000)]
Merge "Add semaphore tests, fix sem_destroy."
Elliott Hughes [Thu, 18 Sep 2014 23:11:59 +0000 (16:11 -0700)]
Add semaphore tests, fix sem_destroy.
Bug: https://code.google.com/p/android/issues/detail?id=76088
Change-Id: I4a0561b23e90312384d40a1c804ca64ee98f4066
Christopher Ferris [Sat, 20 Sep 2014 00:29:09 +0000 (00:29 +0000)]
Merge "Remove references to MALLOC_LEAK_CHECK."
Christopher Ferris [Fri, 19 Sep 2014 19:26:09 +0000 (12:26 -0700)]
Remove references to MALLOC_LEAK_CHECK.
This define isn't really used any more.
Bug:
17378595
Change-Id: I39722b83cd98955a3a2514577de34a239524617f
Elliott Hughes [Fri, 19 Sep 2014 18:01:22 +0000 (18:01 +0000)]
Merge "Add greg_t for arm64."
Elliott Hughes [Fri, 19 Sep 2014 17:31:49 +0000 (10:31 -0700)]
Add greg_t for arm64.
This was already present for the other architectures. I think we skipped
this because glibc seems to have an incorrect definition (int rather than
long), but the kernel has the sane definition (just not in a uapi header).
Change-Id: I0d47a424b505804389853dd8632693dad55a3907
Dan Albert [Thu, 18 Sep 2014 23:43:24 +0000 (23:43 +0000)]
Merge "Exclude libstdc++ from linked libraries."
Christopher Ferris [Thu, 18 Sep 2014 21:34:42 +0000 (21:34 +0000)]
Merge "Move to v3.16.3 kernel headers."
Elliott Hughes [Thu, 18 Sep 2014 21:28:35 +0000 (21:28 +0000)]
Merge "Fix lgamma_r/lgammaf_r/lgammal_r for -0."
Christopher Ferris [Thu, 18 Sep 2014 20:14:58 +0000 (13:14 -0700)]
Move to v3.16.3 kernel headers.
Change-Id: Ife491bd7630b853a78532dd74e4644438256a3a1
Elliott Hughes [Thu, 18 Sep 2014 18:23:58 +0000 (11:23 -0700)]
Fix lgamma_r/lgammaf_r/lgammal_r for -0.
Upstream has implemented lgammal/lgammal_r for ld128, and fixed the
sign problem we reported with all the lgamma*_r functions and -0.
Bug:
17471883
Change-Id: Ibb175d9cab67efae75f1010796fd44c9ba6ce4fc
Elliott Hughes [Thu, 18 Sep 2014 15:51:45 +0000 (15:51 +0000)]
Merge "The nextafter functions use the wrong next representable value"
Jingwei Zhang [Thu, 18 Sep 2014 16:50:00 +0000 (00:50 +0800)]
The nextafter functions use the wrong next representable value
From C99 standard: “The nextafter functions determine the next representable value, in the type of the function,
after x in the direction of y, where x and y are first converted to the type of the function”.
The next representable value of 0.0 in direction of -1.0 is -4.
9406564584124654e-324, not 0.0.
Similar thing holds for nextafterf, nextafterl, nexttowardf, nexttoward, and nexttowardl.
The tests pass either way, since the error is within the tolerance, but how it is written is wrong.
Change-Id: I1338eeffe3de8031a48f46e1b07146bc07dc2f0a
Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
Elliott Hughes [Thu, 18 Sep 2014 15:49:30 +0000 (15:49 +0000)]
Merge "Stack unwinding unit tests."
Elliott Hughes [Thu, 18 Sep 2014 00:21:20 +0000 (17:21 -0700)]
Stack unwinding unit tests.
Bug:
17436734
Change-Id: I1e98da7eaeab646b448fb3f2b683973dddc319b0
Christopher Ferris [Thu, 18 Sep 2014 00:18:46 +0000 (00:18 +0000)]
Merge "Update kernel uapi headers to v3.16.1."
Christopher Ferris [Thu, 4 Sep 2014 02:56:49 +0000 (19:56 -0700)]
Update kernel uapi headers to v3.16.1.
Other changes to support the new headers:
- Remove the flock64 structure it is defined in the new headers.
- Update the syscalls to correspond with the headers.
Change-Id: I49a6b07e8b2bfffb67be71b07b58e4e6848fcc09
Dmitriy Ivanov [Wed, 17 Sep 2014 23:56:44 +0000 (23:56 +0000)]
Merge "Temporary disable DL_WARNs for unused DT_*"
Dmitriy Ivanov [Wed, 17 Sep 2014 23:46:40 +0000 (16:46 -0700)]
Temporary disable DL_WARNs for unused DT_*
Bug:
17552334
Change-Id: I2f7b5e4b4d1db96e812a7f86adc929e113d4c11a
Dmitriy Ivanov [Wed, 17 Sep 2014 23:01:49 +0000 (23:01 +0000)]
Merge "Add Android*.mk files to additional dependencies"
Dmitriy Ivanov [Wed, 17 Sep 2014 22:55:01 +0000 (15:55 -0700)]
Add Android*.mk files to additional dependencies
Bug:
17548097
Change-Id: Ie0d9c8f33459320008f561217c54eba42d283b47
Elliott Hughes [Wed, 17 Sep 2014 22:22:32 +0000 (22:22 +0000)]
Merge "Fix some 32-bit-isms in <stdio.h>."
Elliott Hughes [Wed, 20 Aug 2014 19:14:21 +0000 (12:14 -0700)]
Fix some 32-bit-isms in <stdio.h>.
(cherry-pick of
2d80400a9e8454038a3ec29959436184be0c4c65.)
Bug:
17157793
Change-Id: I8290e240b92e5617f4c12c0eacad6e622e677b6a
Elliott Hughes [Wed, 17 Sep 2014 22:18:47 +0000 (22:18 +0000)]
Merge "Pull input.h from v3.16.1 kernel headers."
Christopher Ferris [Sun, 14 Sep 2014 19:08:37 +0000 (12:08 -0700)]
Pull input.h from v3.16.1 kernel headers.
(cherry-pick of
027d2717d067c3706f22bf84dc1226ede7c1566d.)
Bug:
17407564
Change-Id: Idcfc40a7254605280e3d5474c61ae1ab7b2b7b51
Dan Albert [Tue, 16 Sep 2014 17:10:25 +0000 (10:10 -0700)]
Exclude libstdc++ from linked libraries.
Also explicitly add libstdc++ includes for necessary targets.
Change-Id: If712ba0ae7908d8147a69e29da5c453a183d6540
Elliott Hughes [Wed, 17 Sep 2014 17:04:40 +0000 (17:04 +0000)]
Merge "Use the kernel's sa_restorer for aarch64."
Elliott Hughes [Wed, 17 Sep 2014 16:36:46 +0000 (16:36 +0000)]
Merge "Clean up the architecture-specific makefiles."
Dmitriy Ivanov [Wed, 17 Sep 2014 06:36:19 +0000 (06:36 +0000)]
Merge "Fix 64bit build"
Dmitriy Ivanov [Wed, 17 Sep 2014 06:34:20 +0000 (23:34 -0700)]
Fix 64bit build
Change-Id: I6ef55b5951270c46ee5e9a11385bd09e33a9f969
Dmitriy Ivanov [Wed, 17 Sep 2014 05:28:29 +0000 (05:28 +0000)]
Merge "Fix some unused DT_ warnings"
Elliott Hughes [Wed, 17 Sep 2014 02:06:31 +0000 (19:06 -0700)]
Clean up the architecture-specific makefiles.
Group things appropriately and name each group.
Change-Id: I0da45eb0ccde19c31d5e984d0e6eb3dad26630dc
Dmitriy Ivanov [Tue, 16 Sep 2014 22:51:25 +0000 (15:51 -0700)]
Fix some unused DT_ warnings
* DT_PLTGOT - ignored for non-mips
* DT_RELCOUNT/RELACOUNT - ignored
* DT_RELENT/RELAENT - sanity checks
* DT_SYMENT - sanity check
* DT_SONAME - ignore for now.
Change-Id: Ied90748d12f733a84f6c38a1250567a2f77608b7
Elliott Hughes [Tue, 16 Sep 2014 23:45:40 +0000 (23:45 +0000)]
Merge "No arm source refers to SOFTFLOAT."
Elliott Hughes [Tue, 16 Sep 2014 23:27:35 +0000 (16:27 -0700)]
No arm source refers to SOFTFLOAT.
So why bother #defining it?
Change-Id: I539e91916cee082cacac594ddf628419b737fa9d
Elliott Hughes [Tue, 16 Sep 2014 22:49:50 +0000 (15:49 -0700)]
Use the kernel's sa_restorer for aarch64.
gdb was happy with what we had, but libgcc and libunwind weren't.
libgcc is happy with the kernel's restorer (because of the extra nop),
though libunwind looks like it's going to need code changes regardless.
We could make our restorer more like the kernel's one, but why bother
when we can just let the kernel supply the canonical one?
Bug:
17436734
Change-Id: I330fa5e68f23b1cf8133aa552896657b0b873ed3
Dmitriy Ivanov [Tue, 16 Sep 2014 22:37:36 +0000 (22:37 +0000)]
Merge "Remove has_DT_SYMBOLIC flag"
Dmitriy Ivanov [Tue, 16 Sep 2014 21:31:06 +0000 (14:31 -0700)]
Remove has_DT_SYMBOLIC flag
From the elf-spec: "Symbolically bound shared objects are
identified by the .dynamic entry DT_SYMBOLIC. This tag is
informational only; the runtime linker processes symbol
lookups from these objects in the same manner as any
other object."
Change-Id: I4aae0e502ed9fac096fbf076f4d6b2e055d784f6
Elliott Hughes [Tue, 16 Sep 2014 21:17:20 +0000 (21:17 +0000)]
Merge "Fix 32-bit arm unwinding through signal frames."
Elliott Hughes [Tue, 16 Sep 2014 20:57:39 +0000 (13:57 -0700)]
Fix 32-bit arm unwinding through signal frames.
gdb was already okay; libgcc and libunwind need a little extra help.
Bug:
17436734
Change-Id: I1f5108f9877373be078554a1ea4938aa4436204e
Calin Juravle [Tue, 16 Sep 2014 17:31:38 +0000 (17:31 +0000)]
Merge "Add benchmarks for pthread_rw_locks"
Calin Juravle [Tue, 16 Sep 2014 17:01:44 +0000 (18:01 +0100)]
Add benchmarks for pthread_rw_locks
Benchmarks for the following sequences:
1) pthread_rwlock_rdlock -> pthread_rwlock_unlock
2) pthread_rwlock_wrlock -> pthread_rwlock_unlock
Change-Id: I8d87d4d8afab8637ea7ff5d23a0b3a81d6d40835
Elliott Hughes [Tue, 16 Sep 2014 15:19:05 +0000 (15:19 +0000)]
Merge "Fix signal trampolines."
Dmitriy Ivanov [Tue, 16 Sep 2014 01:27:56 +0000 (01:27 +0000)]
Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
Dmitriy Ivanov [Tue, 16 Sep 2014 00:00:10 +0000 (17:00 -0700)]
Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
Symbols from libraries opened with RTLD_LOCAL (default)
should not be visible via dlsym(RLTD_DEFAULT/RTLD_NEXT, .)
Bug:
17512583
Change-Id: I1758943081a67cf3d49ba5808e061b8251a91964
Dmitriy Ivanov [Mon, 15 Sep 2014 22:12:06 +0000 (22:12 +0000)]
Merge "Add dlfcn_test to glibc test suite."
Elliott Hughes [Wed, 10 Sep 2014 22:20:40 +0000 (15:20 -0700)]
Fix signal trampolines.
* LP32 should use sa_restorer too. gdb expects this, and future (>= 3.15) x86
kernels will apparently stop supporting the case where SA_RESTORER isn't
set.
* gdb and libunwind care about the exact instruction sequences, so we need to
modify the code slightly in a few cases to match what they're looking for.
* gdb also cares about the exact function names (for some architectures),
so we need to use __restore and __restore_rt rather than __sigreturn and
__rt_sigreturn.
* It's possible that we don't have a VDSO; dl_iterate_phdr shouldn't assume
that getauxval(AT_SYSINFO_EHDR) will return a non-null pointer.
This fixes unwinding through a signal handler in gdb for all architectures.
It doesn't fix libunwind for arm and arm64. I'll keep investigating that...
Bug:
17436734
Change-Id: Ic1ea1184db6655c5d96180dc07bcc09628e647cb
Dmitriy Ivanov [Mon, 15 Sep 2014 21:13:24 +0000 (14:13 -0700)]
Add dlfcn_test to glibc test suite.
Change-Id: I955e4f7dfcc23ea5c767f967b3532dc31663b876
Elliott Hughes [Mon, 15 Sep 2014 17:17:37 +0000 (17:17 +0000)]
Merge "POSIX says <signal.h> gets you ucontext_t."
Dan Albert [Sun, 14 Sep 2014 19:33:43 +0000 (19:33 +0000)]
Merge "Fix filename in comment in cmath"
m4tx [Sun, 14 Sep 2014 14:41:31 +0000 (16:41 +0200)]
Fix filename in comment in cmath
It looks like the file comment was copy-pasted from ctime. Fixed filename in comment to "math.h".
Change-Id: I27b0c2a7827076a91fc7b63913fad6eee4d6a79e
Signed-off-by: m4tx <m4tx@m4tx.pl>
Elliott Hughes [Sat, 13 Sep 2014 17:01:07 +0000 (17:01 +0000)]
Merge "Update NOTICE files."
Elliott Hughes [Sat, 13 Sep 2014 17:00:27 +0000 (17:00 +0000)]
Merge "Remove an unused file."
Elliott Hughes [Sat, 13 Sep 2014 16:42:41 +0000 (09:42 -0700)]
Update NOTICE files.
Change-Id: I37a2c297b318b8e1b1ce8b29a7ccc58ba214708a
Elliott Hughes [Sat, 13 Sep 2014 16:24:28 +0000 (09:24 -0700)]
Remove an unused file.
Also remove a reference to it and two other files that have already
been removed in a script --- these files were problematic because they
weren't UTF-8.
Change-Id: Ibf597bac1903c34d8d0fe0a09615c42f24d4f23d
Elliott Hughes [Sat, 13 Sep 2014 03:04:40 +0000 (20:04 -0700)]
POSIX says <signal.h> gets you ucontext_t.
POSIX also says that ucontext_t's uc_sigmask has type sigset_t.
MIPS64 strace needs this.
The #define is to keep chromium off our lawn; otherwise it tries to redefine
all this stuff itself. We should probably clean that up and remove the #define.
Change-Id: I765d6a765a33dca7db33cd8c40f408dc98e5c95b
Elliott Hughes [Fri, 12 Sep 2014 23:52:13 +0000 (23:52 +0000)]
Merge "Explain why clock(3) isn't broken."
Elliott Hughes [Fri, 12 Sep 2014 23:33:37 +0000 (16:33 -0700)]
Explain why clock(3) isn't broken.
Bug:
17441123
Change-Id: I6ee9b7f54bab55b1a8760ce9bcaaa6eab1dcc492
Elliott Hughes [Fri, 12 Sep 2014 23:13:43 +0000 (23:13 +0000)]
Merge "Get new coshl, sinhl, and tanhl implementations from upstream."
Elliott Hughes [Fri, 12 Sep 2014 23:09:40 +0000 (16:09 -0700)]
Get new coshl, sinhl, and tanhl implementations from upstream.
Change-Id: I92f9cd53d12efb2e0f4f8a9590b9fe42398233f6
Elliott Hughes [Fri, 12 Sep 2014 22:52:38 +0000 (22:52 +0000)]
Merge "Add a test for pthread_gettid_np."
Elliott Hughes [Fri, 12 Sep 2014 21:43:07 +0000 (14:43 -0700)]
Add a test for pthread_gettid_np.
Bug:
17475191
Change-Id: I8c6a2f4ceba2d24a77ae9a21269edce523aea421
Elliott Hughes [Fri, 12 Sep 2014 21:07:48 +0000 (21:07 +0000)]
Merge "Sync libm with upstream."
Elliott Hughes [Fri, 12 Sep 2014 21:00:02 +0000 (14:00 -0700)]
Sync libm with upstream.
Change-Id: I8ac8ee52122ee19a2e423c3211092023cb4896eb
Elliott Hughes [Fri, 12 Sep 2014 18:43:05 +0000 (18:43 +0000)]
Merge "Remove "private/bionic_pthread.h"."
Elliott Hughes [Fri, 12 Sep 2014 18:35:05 +0000 (11:35 -0700)]
Remove "private/bionic_pthread.h".
Bug:
17476168
Change-Id: Id642987e641de81e914a28daea4ffe9d11e090ed
Dmitriy Ivanov [Fri, 12 Sep 2014 16:55:42 +0000 (16:55 +0000)]
Merge "Fix unload of recursively linked library"
Dmitriy Ivanov [Fri, 12 Sep 2014 16:50:29 +0000 (16:50 +0000)]
Merge "Reformatting"
Dmitriy Ivanov [Fri, 12 Sep 2014 16:50:04 +0000 (16:50 +0000)]
Merge "Refactoring: C++11 style DISABLE_ bionic marcos"
Dmitriy Ivanov [Fri, 12 Sep 2014 16:43:13 +0000 (09:43 -0700)]
Reformatting
No functional changes.
Change-Id: If71775e5fc207e91ebd31ba3c5f9d2c13dc8dada
Dmitriy Ivanov [Tue, 9 Sep 2014 17:21:42 +0000 (10:21 -0700)]
Fix unload of recursively linked library
Expanded test for recursive libs. Fixed bug with unnecessary
soinfo_free of already loaded library.
Change-Id: I2cc19f2650c8b12a35feeac127ef608ebba44d88
Elliott Hughes [Fri, 12 Sep 2014 01:27:44 +0000 (01:27 +0000)]
Merge "Expose __swsetup for LP32 binary compatibility."
Elliott Hughes [Thu, 11 Sep 2014 23:41:11 +0000 (16:41 -0700)]
Expose __swsetup for LP32 binary compatibility.
(cherry-pick of
7e00b44e80d6e38b8ab86d0ebc86b666c0ac2ef6.)
Bug:
17476127
Change-Id: I0ef1355ac913d782c268a638f88642d6cfc236c2
Dmitriy Ivanov [Fri, 12 Sep 2014 00:40:11 +0000 (00:40 +0000)]
Merge "Add IFUNC support for arm64 and IRELATIVE reloc"
Dmitriy Ivanov [Thu, 11 Sep 2014 22:16:03 +0000 (15:16 -0700)]
Add IFUNC support for arm64 and IRELATIVE reloc
There are number of changes in the way IFUNC related relocations are done:
1. IRELATIVE relocations are now supported for x86/x86_64 and arm64.
2. IFUNC relocations are now relying on static linker to generate
them in correct order - this removes necessety of additional
relocation pass for ifuncs.
3. Related to 2: rela?.dyn relocations are preformed before .plt ones.
4. Ifunc are resolved on symbol lookup this approach allowed to avoid
mprotect(PROT_WRITE) call on r-x program segments.
Bug:
17399706
Bug:
17177284
Change-Id: I414dd3e82bd47cc03442c5dfc7c279949aec51ed
Elliott Hughes [Thu, 11 Sep 2014 23:25:46 +0000 (23:25 +0000)]
Merge "Add pthread_gettid_np and re-expose __get_thread for LP32."
Elliott Hughes [Thu, 11 Sep 2014 23:11:43 +0000 (16:11 -0700)]
Add pthread_gettid_np and re-expose __get_thread for LP32.
A lot of third-party code calls the private __get_thread symbol,
often as part of a backport of bionic's pthread_rwlock implementation.
Hopefully this will go away for LP64 (since you're guaranteed the
real implementation there), but there are still APIs that take a tid
and no way to convert between a pthread_t and a tid. pthread_gettid_np
is a public API for that. To aid the transition, make __get_thread
available again for LP32.
(cherry-pick of
27efc48814b8153c55cbcd0af5d9add824816e69.)
Bug:
14079438
Change-Id: I43fabc7f1918250d31d4665ffa4ca352d0dbeac1
Elliott Hughes [Thu, 11 Sep 2014 17:12:48 +0000 (17:12 +0000)]
Merge "Fix mips __fadvise64.S build failure."
Elliott Hughes [Thu, 11 Sep 2014 17:10:08 +0000 (10:10 -0700)]
Fix mips __fadvise64.S build failure.
Bug:
12449798
Change-Id: I0663b741108ba2f1d286904d6414b3ff4d475551
Elliott Hughes [Thu, 11 Sep 2014 15:46:44 +0000 (15:46 +0000)]
Merge "Add posix_fadvise(3)."
Elliott Hughes [Thu, 11 Sep 2014 00:39:00 +0000 (17:39 -0700)]
Add posix_fadvise(3).
(cherry-pick of
00008263782e484020420c606f7d145fe7d0a4d8.)
Bug:
12449798
Change-Id: I07cbf3f670a0d1304b68148325a774f266b5c433
Lorenzo Colitti [Tue, 9 Sep 2014 10:22:17 +0000 (10:22 +0000)]
Merge "When comparing DNS server configs, also compare number of servers"
Lorenzo Colitti [Mon, 8 Sep 2014 09:09:43 +0000 (18:09 +0900)]
When comparing DNS server configs, also compare number of servers
Bug:
16070602
Change-Id: I605f1cca50b08479ebcad290b3bd179f59be8a96
Dmitriy Ivanov [Mon, 8 Sep 2014 23:22:22 +0000 (16:22 -0700)]
Refactoring: C++11 style DISABLE_ bionic marcos
Enable the -std=gnu++11 flag for libstdc++ static and
dynamic libs.
ScopeGuard uses DISABLE_ macros instead of '= delete';
Change-Id: I07e21b306f95fffd49345f7fa136cfdac61e0225
Dmitriy Ivanov [Tue, 9 Sep 2014 00:49:37 +0000 (00:49 +0000)]
Merge "Load libraries in breadth-first order"
Elliott Hughes [Mon, 8 Sep 2014 23:47:53 +0000 (23:47 +0000)]
Merge "Ensure __set_errno is still visible on LP32."
Elliott Hughes [Mon, 8 Sep 2014 22:25:01 +0000 (15:25 -0700)]
Ensure __set_errno is still visible on LP32.
The use of the .hidden directive to avoid going via the PLT for
__set_errno had the side-effect of actually making __set_errno
hidden (which is odd because assembler directives don't usually
affect symbols defined in a different file --- you can't even
create a weak reference to a symbol that's defined in a different
file).
This change switches the system call stubs over to a new always-hidden
__set_errno_internal and has a visible __set_errno on LP32 just for
binary compatibility with old NDK apps.
(cherry-pick of
7efad83d430f4d824f2aaa75edea5106f6ff8aae.)
Bug:
17423135
Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
Elliott Hughes [Mon, 8 Sep 2014 23:46:04 +0000 (23:46 +0000)]
Merge "Don't expose non-standard basename_r and dirname_r in LP64."
Elliott Hughes [Fri, 5 Sep 2014 23:12:42 +0000 (16:12 -0700)]
Don't expose non-standard basename_r and dirname_r in LP64.
(cherry-pick of
f0e9458ea596227720fa745df15f5357f6c0c8f6.)
Bug:
17407423
Change-Id: I47fe499a4c396bf09d7b78fd828728d04777398b
Dmitriy Ivanov [Fri, 5 Sep 2014 23:42:53 +0000 (16:42 -0700)]
Load libraries in breadth-first order
This patch fixes the problem with symbol search order
for dlsym(RTLD_DEFAULT/RTLD_NEXT, .) by loading libraries
and ld_preloads in correct order.
Bug: https://code.google.com/p/android/issues/detail?id=74255
Change-Id: If1ba5c807322409faa914e27ecb675e2c4541f0d
Attempt: 2