11176 Commits

Author SHA1 Message Date
Elliott Hughes
1f82cf40bb am 21ce3f50: More cases where libc should use O_CLOEXEC.
* commit '21ce3f506f3b54e4f57a37847375cef9f8aff57f':
  More cases where libc should use O_CLOEXEC.
2014-09-17 22:19:00 +00:00
Dan Albert
23b8947da5 am ebb6b4a4: Hide ScopedTrace.
* commit 'ebb6b4a4d3fab87800b912c9d6ea917f5359f8af':
  Hide ScopedTrace.
2014-09-17 22:19:00 +00:00
Elliott Hughes
21ce3f506f More cases where libc should use O_CLOEXEC.
Change-Id: Idfa111aeebc5deca2399dae919e8b72eb54c23c0
(cherry picked from commit f73183f1a34df22b62a3d0bbf82e18d5797c9cde)
2014-09-17 15:13:35 -07:00
Elliott Hughes
b391e05a25 am 9e87f2f8: Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
* commit '9e87f2f876243225deef37645ddceaa5d225cb41':
  Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
2014-09-17 22:13:23 +00:00
Dan Albert
ebb6b4a4d3 Hide ScopedTrace.
(cherry-pick of f2c1e7ee78a167ff323b9f45d20532d064d6778d.)

Bug: 11156955
Change-Id: I6cddc868d1c6503e30f1ffcf460f45670631d64a
2014-09-17 15:11:25 -07:00
Elliott Hughes
9e87f2f876 Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
This reverts commit 26c1420fbb68916d66a8621b5efe8bb25cfdad7b.
2014-09-17 14:59:24 -07:00
Elliott Hughes
7eb56f8031 am 39f46864: am 36a5aa05: Merge "Use the kernel\'s sa_restorer for aarch64."
* commit '39f4686461889c2a733caf3ea55bb11719ca9036':
  Use the kernel's sa_restorer for aarch64.
2014-09-17 17:24:31 +00:00
Elliott Hughes
39f4686461 am 36a5aa05: Merge "Use the kernel\'s sa_restorer for aarch64."
* commit '36a5aa057cf1738577754a3fc16a14a5f817109f':
  Use the kernel's sa_restorer for aarch64.
2014-09-17 17:17:14 +00:00
Elliott Hughes
5aeb5f7b11 am 0bbd77af: am 56433ee2: Merge "Clean up the architecture-specific makefiles."
* commit '0bbd77af89efdd66e7e265284044ca5894f056be':
  Clean up the architecture-specific makefiles.
2014-09-17 17:11:46 +00:00
Elliott Hughes
36a5aa057c Merge "Use the kernel's sa_restorer for aarch64." 2014-09-17 17:04:40 +00:00
Elliott Hughes
0bbd77af89 am 56433ee2: Merge "Clean up the architecture-specific makefiles."
* commit '56433ee2a2ccc097ac3ad753168722b0fc76f3b1':
  Clean up the architecture-specific makefiles.
2014-09-17 17:00:39 +00:00
Elliott Hughes
56433ee2a2 Merge "Clean up the architecture-specific makefiles." 2014-09-17 16:36:47 +00:00
Dmitriy Ivanov
578b8dd727 am b5f0464d: am e7c9a387: Merge "Fix 64bit build"
* commit 'b5f0464d825ee1ef80e8652a12b0743433020ab4':
  Fix 64bit build
2014-09-17 07:05:51 +00:00
Dmitriy Ivanov
b5f0464d82 am e7c9a387: Merge "Fix 64bit build"
* commit 'e7c9a387fa190b786b1f7becfe99cb22a6f2934a':
  Fix 64bit build
2014-09-17 06:53:52 +00:00
Dmitriy Ivanov
e7c9a387fa Merge "Fix 64bit build" 2014-09-17 06:36:19 +00:00
Dmitriy Ivanov
f240aa8089 Fix 64bit build
Change-Id: I6ef55b5951270c46ee5e9a11385bd09e33a9f969
2014-09-16 23:34:20 -07:00
Dmitriy Ivanov
cdd93e0885 am f5a56f21: am 34ac60ca: Merge "Fix some unused DT_ warnings"
* commit 'f5a56f21806a3535d3e32b172b417bb4cedf00f5':
  Fix some unused DT_ warnings
2014-09-17 06:01:55 +00:00
Dmitriy Ivanov
f5a56f2180 am 34ac60ca: Merge "Fix some unused DT_ warnings"
* commit '34ac60ca16713be227844798f4b20a2f68c8a241':
  Fix some unused DT_ warnings
2014-09-17 05:49:55 +00:00
Dmitriy Ivanov
34ac60ca16 Merge "Fix some unused DT_ warnings" 2014-09-17 05:28:30 +00:00
Elliott Hughes
7c02d9428c Clean up the architecture-specific makefiles.
Group things appropriately and name each group.

Change-Id: I0da45eb0ccde19c31d5e984d0e6eb3dad26630dc
2014-09-16 19:06:31 -07:00
Dmitriy Ivanov
4a6e9a835a 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
2014-09-16 18:19:36 -07:00
Elliott Hughes
8b7cb0560f am 894f7f58: am 17cc8e53: Merge "No arm source refers to SOFTFLOAT."
* commit '894f7f5819e9447d7a7418f180c2275c4c7d9f2f':
  No arm source refers to SOFTFLOAT.
2014-09-17 00:25:04 +00:00
Elliott Hughes
894f7f5819 am 17cc8e53: Merge "No arm source refers to SOFTFLOAT."
* commit '17cc8e539a578184662c1966a60f37c7d4fed65e':
  No arm source refers to SOFTFLOAT.
2014-09-17 00:07:22 +00:00
Elliott Hughes
17cc8e539a Merge "No arm source refers to SOFTFLOAT." 2014-09-16 23:45:40 +00:00
Elliott Hughes
b1a6c319c4 No arm source refers to SOFTFLOAT.
So why bother #defining it?

Change-Id: I539e91916cee082cacac594ddf628419b737fa9d
2014-09-16 16:27:35 -07:00
Dmitriy Ivanov
dc428a17d6 am 7ccb499c: am aea393c0: Merge "Remove has_DT_SYMBOLIC flag"
* commit '7ccb499c63931b0863d2792f3d2548acca78c90a':
  Remove has_DT_SYMBOLIC flag
2014-09-16 23:07:04 +00:00
Dmitriy Ivanov
7ccb499c63 am aea393c0: Merge "Remove has_DT_SYMBOLIC flag"
* commit 'aea393c096460669647acbe803617affc5bc0697':
  Remove has_DT_SYMBOLIC flag
2014-09-16 22:54:00 +00:00
Elliott Hughes
1cff9a8964 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
2014-09-16 15:49:50 -07:00
Dmitriy Ivanov
aea393c096 Merge "Remove has_DT_SYMBOLIC flag" 2014-09-16 22:37:37 +00:00
Elliott Hughes
48ac72d070 am 67c12a83: am 380a3be7: Merge "Fix 32-bit arm unwinding through signal frames."
* commit '67c12a8392f869b39d4676081d76ebcf5aa9fd05':
  Fix 32-bit arm unwinding through signal frames.
2014-09-16 22:27:59 +00:00
Dmitriy Ivanov
8f61d99183 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
2014-09-16 15:26:47 -07:00
Elliott Hughes
67c12a8392 am 380a3be7: Merge "Fix 32-bit arm unwinding through signal frames."
* commit '380a3be757b04378edecad6ecb96017d2ec6a8b9':
  Fix 32-bit arm unwinding through signal frames.
2014-09-16 22:13:34 +00:00
Elliott Hughes
380a3be757 Merge "Fix 32-bit arm unwinding through signal frames." 2014-09-16 21:17:20 +00:00
Elliott Hughes
148dff3ec6 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
2014-09-16 14:10:53 -07:00
Calin Juravle
82f4e27b4b am c417053e: am 370704d6: Merge "Add benchmarks for pthread_rw_locks"
* commit 'c417053e808af9a23e579723aed0d110f6841f2c':
  Add benchmarks for pthread_rw_locks
2014-09-16 19:57:29 +00:00
Elliott Hughes
8790f37b07 am ca2d1258: am 5cba3c6f: Merge "Fix signal trampolines."
* commit 'ca2d1258fc45252d6f60fc33af02501de340ceed':
  Fix signal trampolines.
2014-09-16 19:57:27 +00:00
Dmitriy Ivanov
7c76969732 am 3d76a5a1: am 2997ae83: Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '3d76a5a1c7f7b10aa15ac2abddf12b37b6d45027':
  Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
2014-09-16 19:57:25 +00:00
Dmitriy Ivanov
4cdd5ae852 am fe78876f: am 0b8f6d59: Merge "Add dlfcn_test to glibc test suite."
* commit 'fe78876f94949ba46b76e23e3ab5bb5542565db4':
  Add dlfcn_test to glibc test suite.
2014-09-16 19:57:24 +00:00
Calin Juravle
c417053e80 am 370704d6: Merge "Add benchmarks for pthread_rw_locks"
* commit '370704d69db15ec0b4d24e6412b5d30ded0ffc03':
  Add benchmarks for pthread_rw_locks
2014-09-16 19:52:58 +00:00
Elliott Hughes
ca2d1258fc am 5cba3c6f: Merge "Fix signal trampolines."
* commit '5cba3c6f8e571cd4e6e2468263b778a90331101f':
  Fix signal trampolines.
2014-09-16 19:42:51 +00:00
Dmitriy Ivanov
3d76a5a1c7 am 2997ae83: Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '2997ae83d55486ab86a6100265fa502eff721ce2':
  Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
2014-09-16 19:42:45 +00:00
Dmitriy Ivanov
fe78876f94 am 0b8f6d59: Merge "Add dlfcn_test to glibc test suite."
* commit '0b8f6d592ac20ec81dbc96766123c67655f34842':
  Add dlfcn_test to glibc test suite.
2014-09-16 19:42:44 +00:00
Calin Juravle
370704d69d Merge "Add benchmarks for pthread_rw_locks" 2014-09-16 17:31:39 +00:00
Calin Juravle
837a962bf5 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
2014-09-16 18:02:30 +01:00
Elliott Hughes
5cba3c6f8e Merge "Fix signal trampolines." 2014-09-16 15:19:06 +00:00
Elliott Hughes
0b981eb9d5 am b104f0c4: am 95b0c6a9: Merge "POSIX says <signal.h> gets you ucontext_t."
* commit 'b104f0c4382215acf8e8ed30793140cf13624056':
  POSIX says <signal.h> gets you ucontext_t.
2014-09-16 08:48:12 +00:00
Dmitriy Ivanov
2997ae83d5 Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL" 2014-09-16 01:27:56 +00:00
Dmitriy Ivanov
e8ba50fe0d 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
2014-09-15 17:39:48 -07:00
Dmitriy Ivanov
0b8f6d592a Merge "Add dlfcn_test to glibc test suite." 2014-09-15 22:12:06 +00:00
Elliott Hughes
36f451a6d9 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
2014-09-15 15:04:14 -07:00