OSDN Git Service

android-x86/bionic.git
9 years agoMerge "Fix a couple more cases of missing CLOEXEC."
Elliott Hughes [Tue, 23 Sep 2014 01:19:51 +0000 (01:19 +0000)]
Merge "Fix a couple more cases of missing CLOEXEC."

9 years agoFix 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

9 years agoMerge "Test pthread_cleanup_push(3)/pthread_cleanup_pop(3)."
Elliott Hughes [Mon, 22 Sep 2014 23:28:32 +0000 (23:28 +0000)]
Merge "Test pthread_cleanup_push(3)/pthread_cleanup_pop(3)."

9 years agoTest 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

9 years agoMerge "Clean up fpathconf(3)/pathconf(3)."
Elliott Hughes [Mon, 22 Sep 2014 22:50:10 +0000 (22:50 +0000)]
Merge "Clean up fpathconf(3)/pathconf(3)."

9 years agoClean 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

9 years agoMerge "Unit test for abort(3)."
Elliott Hughes [Mon, 22 Sep 2014 21:46:55 +0000 (21:46 +0000)]
Merge "Unit test for abort(3)."

9 years agoUnit 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

9 years agoMerge "Use the uapi fs magic in <sys/vfs.h>."
Elliott Hughes [Mon, 22 Sep 2014 16:51:07 +0000 (16:51 +0000)]
Merge "Use the uapi fs magic in <sys/vfs.h>."

9 years agoUse 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

9 years agoMerge "Add semaphore tests, fix sem_destroy."
Elliott Hughes [Sat, 20 Sep 2014 01:34:11 +0000 (01:34 +0000)]
Merge "Add semaphore tests, fix sem_destroy."

9 years agoAdd 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

9 years agoMerge "Remove references to MALLOC_LEAK_CHECK."
Christopher Ferris [Sat, 20 Sep 2014 00:29:09 +0000 (00:29 +0000)]
Merge "Remove references to MALLOC_LEAK_CHECK."

9 years agoRemove 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

9 years agoMerge "Add greg_t for arm64."
Elliott Hughes [Fri, 19 Sep 2014 18:01:22 +0000 (18:01 +0000)]
Merge "Add greg_t for arm64."

9 years agoAdd 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

9 years agoMerge "Exclude libstdc++ from linked libraries."
Dan Albert [Thu, 18 Sep 2014 23:43:24 +0000 (23:43 +0000)]
Merge "Exclude libstdc++ from linked libraries."

9 years agoMerge "Move to v3.16.3 kernel headers."
Christopher Ferris [Thu, 18 Sep 2014 21:34:42 +0000 (21:34 +0000)]
Merge "Move to v3.16.3 kernel headers."

9 years agoMerge "Fix lgamma_r/lgammaf_r/lgammal_r for -0."
Elliott Hughes [Thu, 18 Sep 2014 21:28:35 +0000 (21:28 +0000)]
Merge "Fix lgamma_r/lgammaf_r/lgammal_r for -0."

9 years agoMove to v3.16.3 kernel headers.
Christopher Ferris [Thu, 18 Sep 2014 20:14:58 +0000 (13:14 -0700)]
Move to v3.16.3 kernel headers.

Change-Id: Ife491bd7630b853a78532dd74e4644438256a3a1

9 years agoFix lgamma_r/lgammaf_r/lgammal_r for -0.
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

9 years agoMerge "The nextafter functions use the wrong next representable value"
Elliott Hughes [Thu, 18 Sep 2014 15:51:45 +0000 (15:51 +0000)]
Merge "The nextafter functions use the wrong next representable value"

9 years agoThe 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>
9 years agoMerge "Stack unwinding unit tests."
Elliott Hughes [Thu, 18 Sep 2014 15:49:30 +0000 (15:49 +0000)]
Merge "Stack unwinding unit tests."

9 years agoStack 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

9 years agoMerge "Update kernel uapi headers to v3.16.1."
Christopher Ferris [Thu, 18 Sep 2014 00:18:46 +0000 (00:18 +0000)]
Merge "Update kernel uapi headers to v3.16.1."

9 years agoUpdate 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

9 years agoMerge "Temporary disable DL_WARNs for unused DT_*"
Dmitriy Ivanov [Wed, 17 Sep 2014 23:56:44 +0000 (23:56 +0000)]
Merge "Temporary disable DL_WARNs for unused DT_*"

9 years agoTemporary 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

9 years agoMerge "Add Android*.mk files to additional dependencies"
Dmitriy Ivanov [Wed, 17 Sep 2014 23:01:49 +0000 (23:01 +0000)]
Merge "Add Android*.mk files to additional dependencies"

9 years agoAdd 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

9 years agoMerge "Fix some 32-bit-isms in <stdio.h>."
Elliott Hughes [Wed, 17 Sep 2014 22:22:32 +0000 (22:22 +0000)]
Merge "Fix some 32-bit-isms in <stdio.h>."

9 years agoFix 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

9 years agoMerge "Pull input.h from v3.16.1 kernel headers."
Elliott Hughes [Wed, 17 Sep 2014 22:18:47 +0000 (22:18 +0000)]
Merge "Pull input.h from v3.16.1 kernel headers."

9 years agoPull 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

9 years agoExclude libstdc++ from linked libraries.
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

9 years agoMerge "Use the kernel's sa_restorer for aarch64."
Elliott Hughes [Wed, 17 Sep 2014 17:04:40 +0000 (17:04 +0000)]
Merge "Use the kernel's sa_restorer for aarch64."

9 years agoMerge "Clean up the architecture-specific makefiles."
Elliott Hughes [Wed, 17 Sep 2014 16:36:46 +0000 (16:36 +0000)]
Merge "Clean up the architecture-specific makefiles."

9 years agoMerge "Fix 64bit build"
Dmitriy Ivanov [Wed, 17 Sep 2014 06:36:19 +0000 (06:36 +0000)]
Merge "Fix 64bit build"

9 years agoFix 64bit build
Dmitriy Ivanov [Wed, 17 Sep 2014 06:34:20 +0000 (23:34 -0700)]
Fix 64bit build

Change-Id: I6ef55b5951270c46ee5e9a11385bd09e33a9f969

9 years agoMerge "Fix some unused DT_ warnings"
Dmitriy Ivanov [Wed, 17 Sep 2014 05:28:29 +0000 (05:28 +0000)]
Merge "Fix some unused DT_ warnings"

9 years agoClean up the architecture-specific makefiles.
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

9 years agoFix some unused DT_ warnings
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

9 years agoMerge "No arm source refers to SOFTFLOAT."
Elliott Hughes [Tue, 16 Sep 2014 23:45:40 +0000 (23:45 +0000)]
Merge "No arm source refers to SOFTFLOAT."

9 years agoNo 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

9 years agoUse the kernel's sa_restorer for aarch64.
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

9 years agoMerge "Remove has_DT_SYMBOLIC flag"
Dmitriy Ivanov [Tue, 16 Sep 2014 22:37:36 +0000 (22:37 +0000)]
Merge "Remove has_DT_SYMBOLIC flag"

9 years agoRemove 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

9 years agoMerge "Fix 32-bit arm unwinding through signal frames."
Elliott Hughes [Tue, 16 Sep 2014 21:17:20 +0000 (21:17 +0000)]
Merge "Fix 32-bit arm unwinding through signal frames."

9 years agoFix 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

9 years agoMerge "Add benchmarks for pthread_rw_locks"
Calin Juravle [Tue, 16 Sep 2014 17:31:38 +0000 (17:31 +0000)]
Merge "Add benchmarks for pthread_rw_locks"

9 years agoAdd 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

9 years agoMerge "Fix signal trampolines."
Elliott Hughes [Tue, 16 Sep 2014 15:19:05 +0000 (15:19 +0000)]
Merge "Fix signal trampolines."

9 years agoMerge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
Dmitriy Ivanov [Tue, 16 Sep 2014 01:27:56 +0000 (01:27 +0000)]
Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"

9 years agoFix 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

9 years agoMerge "Add dlfcn_test to glibc test suite."
Dmitriy Ivanov [Mon, 15 Sep 2014 22:12:06 +0000 (22:12 +0000)]
Merge "Add dlfcn_test to glibc test suite."

9 years agoFix signal trampolines.
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

9 years agoAdd dlfcn_test to glibc test suite.
Dmitriy Ivanov [Mon, 15 Sep 2014 21:13:24 +0000 (14:13 -0700)]
Add dlfcn_test to glibc test suite.

Change-Id: I955e4f7dfcc23ea5c767f967b3532dc31663b876

9 years agoMerge "POSIX says <signal.h> gets you ucontext_t."
Elliott Hughes [Mon, 15 Sep 2014 17:17:37 +0000 (17:17 +0000)]
Merge "POSIX says <signal.h> gets you ucontext_t."

9 years agoMerge "Fix filename in comment in cmath"
Dan Albert [Sun, 14 Sep 2014 19:33:43 +0000 (19:33 +0000)]
Merge "Fix filename in comment in cmath"

9 years agoFix 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>
9 years agoMerge "Update NOTICE files."
Elliott Hughes [Sat, 13 Sep 2014 17:01:07 +0000 (17:01 +0000)]
Merge "Update NOTICE files."

9 years agoMerge "Remove an unused file."
Elliott Hughes [Sat, 13 Sep 2014 17:00:27 +0000 (17:00 +0000)]
Merge "Remove an unused file."

9 years agoUpdate NOTICE files.
Elliott Hughes [Sat, 13 Sep 2014 16:42:41 +0000 (09:42 -0700)]
Update NOTICE files.

Change-Id: I37a2c297b318b8e1b1ce8b29a7ccc58ba214708a

9 years agoRemove an unused file.
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

9 years agoPOSIX says <signal.h> gets you ucontext_t.
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

9 years agoMerge "Explain why clock(3) isn't broken."
Elliott Hughes [Fri, 12 Sep 2014 23:52:13 +0000 (23:52 +0000)]
Merge "Explain why clock(3) isn't broken."

9 years agoExplain 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

9 years agoMerge "Get new coshl, sinhl, and tanhl implementations from upstream."
Elliott Hughes [Fri, 12 Sep 2014 23:13:43 +0000 (23:13 +0000)]
Merge "Get new coshl, sinhl, and tanhl implementations from upstream."

9 years agoGet 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

9 years agoMerge "Add a test for pthread_gettid_np."
Elliott Hughes [Fri, 12 Sep 2014 22:52:38 +0000 (22:52 +0000)]
Merge "Add a test for pthread_gettid_np."

9 years agoAdd 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

9 years agoMerge "Sync libm with upstream."
Elliott Hughes [Fri, 12 Sep 2014 21:07:48 +0000 (21:07 +0000)]
Merge "Sync libm with upstream."

9 years agoSync libm with upstream.
Elliott Hughes [Fri, 12 Sep 2014 21:00:02 +0000 (14:00 -0700)]
Sync libm with upstream.

Change-Id: I8ac8ee52122ee19a2e423c3211092023cb4896eb

9 years agoMerge "Remove "private/bionic_pthread.h"."
Elliott Hughes [Fri, 12 Sep 2014 18:43:05 +0000 (18:43 +0000)]
Merge "Remove "private/bionic_pthread.h"."

9 years agoRemove "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

9 years agoMerge "Fix unload of recursively linked library"
Dmitriy Ivanov [Fri, 12 Sep 2014 16:55:42 +0000 (16:55 +0000)]
Merge "Fix unload of recursively linked library"

9 years agoMerge "Reformatting"
Dmitriy Ivanov [Fri, 12 Sep 2014 16:50:29 +0000 (16:50 +0000)]
Merge "Reformatting"

9 years agoMerge "Refactoring: C++11 style DISABLE_ bionic marcos"
Dmitriy Ivanov [Fri, 12 Sep 2014 16:50:04 +0000 (16:50 +0000)]
Merge "Refactoring: C++11 style DISABLE_ bionic marcos"

9 years agoReformatting
Dmitriy Ivanov [Fri, 12 Sep 2014 16:43:13 +0000 (09:43 -0700)]
Reformatting

 No functional changes.

Change-Id: If71775e5fc207e91ebd31ba3c5f9d2c13dc8dada

9 years agoFix unload of recursively linked library
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

9 years agoMerge "Expose __swsetup for LP32 binary compatibility."
Elliott Hughes [Fri, 12 Sep 2014 01:27:44 +0000 (01:27 +0000)]
Merge "Expose __swsetup for LP32 binary compatibility."

9 years agoExpose __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

9 years agoMerge "Add IFUNC support for arm64 and IRELATIVE reloc"
Dmitriy Ivanov [Fri, 12 Sep 2014 00:40:11 +0000 (00:40 +0000)]
Merge "Add IFUNC support for arm64 and IRELATIVE reloc"

9 years agoAdd 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

9 years agoMerge "Add pthread_gettid_np and re-expose __get_thread for LP32."
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."

9 years agoAdd 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

9 years agoMerge "Fix mips __fadvise64.S build failure."
Elliott Hughes [Thu, 11 Sep 2014 17:12:48 +0000 (17:12 +0000)]
Merge "Fix mips __fadvise64.S build failure."

9 years agoFix 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

9 years agoMerge "Add posix_fadvise(3)."
Elliott Hughes [Thu, 11 Sep 2014 15:46:44 +0000 (15:46 +0000)]
Merge "Add posix_fadvise(3)."

9 years agoAdd 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

9 years agoMerge "When comparing DNS server configs, also compare number of servers"
Lorenzo Colitti [Tue, 9 Sep 2014 10:22:17 +0000 (10:22 +0000)]
Merge "When comparing DNS server configs, also compare number of servers"

9 years agoWhen 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

9 years agoRefactoring: C++11 style DISABLE_ bionic marcos
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

9 years agoMerge "Load libraries in breadth-first order"
Dmitriy Ivanov [Tue, 9 Sep 2014 00:49:37 +0000 (00:49 +0000)]
Merge "Load libraries in breadth-first order"

9 years agoMerge "Ensure __set_errno is still visible on LP32."
Elliott Hughes [Mon, 8 Sep 2014 23:47:53 +0000 (23:47 +0000)]
Merge "Ensure __set_errno is still visible on LP32."

9 years agoEnsure __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

9 years agoMerge "Don't expose non-standard basename_r and dirname_r in LP64."
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."

9 years agoDon'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

9 years agoLoad libraries in breadth-first order
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