OSDN Git Service
Chih-hung Hsieh [Tue, 1 Dec 2015 00:30:41 +0000 (00:30 +0000)]
Merge "Add bionic-unit-tests-gcc{32,64}, compiled with gcc." am:
9cbabd8fe5
am:
d74566026d
* commit '
d74566026d439e915ce56c9cf739181187d05192':
Add bionic-unit-tests-gcc{32,64}, compiled with gcc.
Chih-hung Hsieh [Tue, 1 Dec 2015 00:27:13 +0000 (00:27 +0000)]
Merge "Add bionic-unit-tests-gcc{32,64}, compiled with gcc."
am:
9cbabd8fe5
* commit '
9cbabd8fe5ef3834682996ff23b4a5325e0586cb':
Add bionic-unit-tests-gcc{32,64}, compiled with gcc.
Chih-hung Hsieh [Tue, 1 Dec 2015 00:23:32 +0000 (00:23 +0000)]
Merge "Add bionic-unit-tests-gcc{32,64}, compiled with gcc."
Yabin Cui [Tue, 1 Dec 2015 00:00:50 +0000 (00:00 +0000)]
Merge "Init stdio in __libc_init_common." am:
6bef152af2
am:
1f4b0c44b3
* commit '
1f4b0c44b37bbf840a8210c8948e1d6efb0cdc11':
Init stdio in __libc_init_common.
Yabin Cui [Tue, 1 Dec 2015 00:00:46 +0000 (00:00 +0000)]
Merge "Enable using clang to build __cxa_thread_atexit_impl." am:
af87c9ccfc
am:
4262d3e9ac
* commit '
4262d3e9ac2462502875f5a7f1925a44ce29b299':
Enable using clang to build __cxa_thread_atexit_impl.
Yabin Cui [Mon, 30 Nov 2015 23:58:50 +0000 (23:58 +0000)]
Merge "Init stdio in __libc_init_common."
am:
6bef152af2
* commit '
6bef152af2c622ee0c57f9c374b76f3dd352e52b':
Init stdio in __libc_init_common.
Yabin Cui [Mon, 30 Nov 2015 23:58:41 +0000 (23:58 +0000)]
Merge "Enable using clang to build __cxa_thread_atexit_impl."
am:
af87c9ccfc
* commit '
af87c9ccfc3afbc7db9f0bc131d122453b5c882d':
Enable using clang to build __cxa_thread_atexit_impl.
Yabin Cui [Mon, 30 Nov 2015 23:57:02 +0000 (23:57 +0000)]
Merge "Init stdio in __libc_init_common."
Yabin Cui [Mon, 30 Nov 2015 23:56:41 +0000 (23:56 +0000)]
Merge "Enable using clang to build __cxa_thread_atexit_impl."
Yabin Cui [Mon, 30 Nov 2015 22:07:58 +0000 (14:07 -0800)]
Enable using clang to build __cxa_thread_atexit_impl.
Remove previous workaround as we no longer use
__thread in __cxa_thread_atexit_impl.cpp.
Change-Id: Ic1062995db488859b341acdda0b5f6635e10d7e8
Yabin Cui [Mon, 30 Nov 2015 22:03:39 +0000 (22:03 +0000)]
Merge "Don\'t use __thread in __cxa_thread_finalize()." am:
28d3f00cf4
am:
51ca18d2a1
* commit '
51ca18d2a11eedff94a11c1cb996f38c2011b0dd':
Don't use __thread in __cxa_thread_finalize().
Yabin Cui [Mon, 30 Nov 2015 22:01:36 +0000 (22:01 +0000)]
Merge "Don\'t use __thread in __cxa_thread_finalize()."
am:
28d3f00cf4
* commit '
28d3f00cf4545812503c835ea906fa83309e48ed':
Don't use __thread in __cxa_thread_finalize().
Yabin Cui [Mon, 30 Nov 2015 21:59:47 +0000 (21:59 +0000)]
Merge "Don't use __thread in __cxa_thread_finalize()."
Yabin Cui [Tue, 24 Nov 2015 23:37:06 +0000 (15:37 -0800)]
Init stdio in __libc_init_common.
Previously we call __sinit() lazily. But it is likely to cause data
races like in https://android-review.googlesource.com/#/c/183237/. So
we prefer to call __sinit() explicitly at libc initialization.
Bug:
25392375
Change-Id: I181ea7a4b2e4c7350b45f2e6c86886ea023e80b8
Yabin Cui [Mon, 30 Nov 2015 21:45:01 +0000 (21:45 +0000)]
Merge "Fix pthread_test according to tsan report." am:
aec13988da
am:
6ac2fdd0f4
* commit '
6ac2fdd0f4926a3d5c8e1424c4cdf5d82805c288':
Fix pthread_test according to tsan report.
Yabin Cui [Mon, 30 Nov 2015 21:42:42 +0000 (21:42 +0000)]
Merge "Fix pthread_test according to tsan report."
am:
aec13988da
* commit '
aec13988dab7ff32cb005f42b952e3b9b55a4779':
Fix pthread_test according to tsan report.
Yabin Cui [Mon, 30 Nov 2015 21:38:59 +0000 (21:38 +0000)]
Merge "Fix pthread_test according to tsan report."
Chih-hung Hsieh [Mon, 30 Nov 2015 19:04:41 +0000 (19:04 +0000)]
Merge "Consider when building libc_thread_atexit_impl module" am:
2bb85c848a
am:
4f94b7bfc0
* commit '
4f94b7bfc082cd6f52d02a789512d1e6a6a01af6':
Consider $(use_clang) when building libc_thread_atexit_impl module
Chih-hung Hsieh [Mon, 30 Nov 2015 19:02:05 +0000 (19:02 +0000)]
Merge "Consider when building libc_thread_atexit_impl module"
am:
2bb85c848a
* commit '
2bb85c848abb89951ec01342d6c8278311346395':
Consider $(use_clang) when building libc_thread_atexit_impl module
Chih-hung Hsieh [Mon, 30 Nov 2015 18:58:59 +0000 (18:58 +0000)]
Merge "Consider $(use_clang) when building libc_thread_atexit_impl module"
Chih-Hung Hsieh [Fri, 20 Nov 2015 22:13:24 +0000 (14:13 -0800)]
Add bionic-unit-tests-gcc{32,64}, compiled with gcc.
* bionic-unit-tests{32,64} are compiled with clang/llvm.
* Skip one single test in __cxa_thread_atexit_test.cpp
when compiled with aarch64 clang/llvm.
Aarch64 clang/llvm generates relocation references to
"thread_local" symbols not supported by Android linker.
BUG:
25642296
Change-Id: Ia0497b79c4b335228afeb48a26e0592217909953
Nikola Veljkovic [Wed, 25 Nov 2015 18:03:12 +0000 (19:03 +0100)]
Consider $(use_clang) when building libc_thread_atexit_impl module
Change-Id: Ia369d94979f418198a2ee891385942d9bc5604d7
Yabin Cui [Wed, 25 Nov 2015 01:24:06 +0000 (17:24 -0800)]
Don't use __thread in __cxa_thread_finalize().
Currently we use __thread variable to store thread_local_dtors,
which makes tsan test fork_atexit.cc hang. The problem is as below:
The main thread creates a worker thread, the worker thread calls
pthread_exit() -> __cxa_thread_finalize() -> __emutls_get_address()
-> pthread_once(emutls_init) -> emutls_init().
Then the main thread calls fork(), the child process cals
exit() -> __cxa_thread_finalize() -> __emutls_get_address()
-> pthread_once(emutls_init).
So the child process is waiting for pthread_once(emutls_init)
to finish which will never occur.
It might be the test's fault because POSIX standard says if a
multi-threaded process calls fork(), the new process may only
execute async-signal-safe operations until exec functions are
called. And exit() is not async-signal-safe. But we can make
bionic more reliable by not using __thread in
__cxa_thread_finalize().
Bug:
25392375
Change-Id: Ife403dd7379dad8ddf1859c348c1c0adea07afb3
Colin Cross [Tue, 24 Nov 2015 21:44:59 +0000 (21:44 +0000)]
Merge "Remove cflags and ldflags from crt defaults" am:
a01108d9bf
am:
a36d1e0d31
* commit '
a36d1e0d31727d645d0f6b162489eecb8e8e2f22':
Remove cflags and ldflags from crt defaults
Colin Cross [Tue, 24 Nov 2015 21:41:22 +0000 (21:41 +0000)]
Merge "Remove cflags and ldflags from crt defaults"
am:
a01108d9bf
* commit '
a01108d9bf415854b9d36334483133adff3d7405':
Remove cflags and ldflags from crt defaults
Colin Cross [Tue, 24 Nov 2015 21:33:54 +0000 (21:33 +0000)]
Merge "Remove cflags and ldflags from crt defaults"
Colin Cross [Tue, 24 Nov 2015 20:27:47 +0000 (20:27 +0000)]
Merge "move arch variant structs down a level" am:
8bd27182c5
am:
912e27a4b2
* commit '
912e27a4b255e85546bf64fc1f3e68398525ff1c':
move arch variant structs down a level
Colin Cross [Tue, 24 Nov 2015 20:24:24 +0000 (20:24 +0000)]
Merge "move arch variant structs down a level"
am:
8bd27182c5
* commit '
8bd27182c505cdc8031ab23fea5d1dccb6b7405a':
move arch variant structs down a level
Colin Cross [Tue, 24 Nov 2015 20:21:20 +0000 (20:21 +0000)]
Merge "move arch variant structs down a level"
Colin Cross [Mon, 23 Nov 2015 22:12:19 +0000 (14:12 -0800)]
Remove cflags and ldflags from crt defaults
After ToolchainCflags were added to soong crt no longer needs to try to
recreate the bare minimum cflags for compiling for each architecture.
Also always use GCC to match crt.mk
Change-Id: I01a833ab70d989033c84f072e3660d060189688c
Dimitry Ivanov [Tue, 24 Nov 2015 02:58:19 +0000 (02:58 +0000)]
Merge "Introduce anonymous namespace" am:
db8caa740a
am:
321314f2e9
* commit '
321314f2e90d33ef6a653080784754d483bb6d44':
Introduce anonymous namespace
Dimitry Ivanov [Tue, 24 Nov 2015 02:45:14 +0000 (02:45 +0000)]
Merge "Introduce anonymous namespace"
am:
db8caa740a
* commit '
db8caa740a409c2ce75f875df84857e6be69eb9f':
Introduce anonymous namespace
Dimitry Ivanov [Tue, 24 Nov 2015 02:23:34 +0000 (02:23 +0000)]
Merge "Introduce anonymous namespace"
Dmitriy Ivanov [Mon, 23 Nov 2015 19:26:35 +0000 (11:26 -0800)]
Introduce anonymous namespace
The anonymous namespace is introduced to
handle cases when linker can not find the
caller. This usually happens when caller
code was not loaded by dynamic linker;
for example mono-generated code.
Bug: http://b/
25844435
Bug: http://b/
22548808
Change-Id: I9e5b1d23c1c75bc78548d68e79216a6a943a33cf
Colin Cross [Mon, 23 Nov 2015 22:12:15 +0000 (14:12 -0800)]
move arch variant structs down a level
Use blueprint's new anonymous embedded struct feature to move the arch
variant properties down a level, replacing arch.cortex_a9.srcs with
arch.arm.cortex_a9.srcs, while still supporting top-level properties
like arch.arm.srcs.
Change-Id: Ib41c80e3549440d5efdfd293a15cffa3f51a0fe4
Yabin Cui [Mon, 23 Nov 2015 19:05:48 +0000 (19:05 +0000)]
Merge "Change _stdio_handles_locking into _caller_handles_locking." am:
17554356cc
am:
edcee4e401
* commit '
edcee4e4011b1a6e327791493ee1abde3ded2142':
Change _stdio_handles_locking into _caller_handles_locking.
Yabin Cui [Mon, 23 Nov 2015 19:02:08 +0000 (19:02 +0000)]
Merge "Change _stdio_handles_locking into _caller_handles_locking."
am:
17554356cc
* commit '
17554356cc865908e5cbd7814c8be7e47c9c4ec5':
Change _stdio_handles_locking into _caller_handles_locking.
Yabin Cui [Mon, 23 Nov 2015 18:57:26 +0000 (18:57 +0000)]
Merge "Change _stdio_handles_locking into _caller_handles_locking."
Dimitry Ivanov [Mon, 23 Nov 2015 07:36:26 +0000 (07:36 +0000)]
Merge "Handling invalid section headers" am:
a7fc7f9909
am:
a8f8cbb3fc
* commit '
a8f8cbb3fcfcb654474ff041013cc081a70f4812':
Handling invalid section headers
Dimitry Ivanov [Mon, 23 Nov 2015 07:33:23 +0000 (07:33 +0000)]
Merge "Handling invalid section headers"
am:
a7fc7f9909
* commit '
a7fc7f9909c221a0f64c5c5ecc5fadd5fba467c5':
Handling invalid section headers
Dimitry Ivanov [Mon, 23 Nov 2015 07:28:32 +0000 (07:28 +0000)]
Merge "Handling invalid section headers"
Dmitriy Ivanov [Sat, 21 Nov 2015 01:28:12 +0000 (17:28 -0800)]
Handling invalid section headers
The linker crashes if native library has invalid section
headers. This change adds boundary checks on target offsets
and generates dlerror instead of crash.
Bug: http://b/
25800330
Change-Id: Ibe282029997302b9b557637c3aad064d7d0febc5
Yabin Cui [Sat, 21 Nov 2015 01:58:35 +0000 (01:58 +0000)]
Merge "Use FUTEX_WAIT_BITSET to avoid converting timeouts." am:
74ed96d597
am:
4469973bfb
* commit '
4469973bfbfc672e006a24242a149c2e03d623f1':
Use FUTEX_WAIT_BITSET to avoid converting timeouts.
Yabin Cui [Sat, 21 Nov 2015 01:55:27 +0000 (01:55 +0000)]
Merge "Use FUTEX_WAIT_BITSET to avoid converting timeouts."
am:
74ed96d597
* commit '
74ed96d59731aa3661494330804d866e825209d3':
Use FUTEX_WAIT_BITSET to avoid converting timeouts.
Yabin Cui [Sat, 21 Nov 2015 01:50:29 +0000 (01:50 +0000)]
Merge "Use FUTEX_WAIT_BITSET to avoid converting timeouts."
Yabin Cui [Thu, 19 Nov 2015 21:52:16 +0000 (13:52 -0800)]
Change _stdio_handles_locking into _caller_handles_locking.
It is reported by tsan that funlockfile() can unlock an unlocked mutex.
It happens when printf() is called before fopen() or other stdio stuff.
As FLOCKFILE(fp) is called before __sinit(), _stdio_handles_locking is false,
and _FLOCK(fp) will not be locked. But then cantwrite(fp) in __vfprintf()
calls__sinit(), which makes _stdio_handles_locking become true, and
FUNLOCKFILE(fp) unlocks _FLOCK(fp).
Change _stdio_handles_locking into _caller_handles_locking,
so __sinit() won't change its value. Add test due to my previous fault.
Bug:
25392375
Change-Id: I483e3c3cdb28da65e62f1fd9615bf58c5403b4dd
Dimitry Ivanov [Fri, 20 Nov 2015 21:48:21 +0000 (21:48 +0000)]
Merge "Move some utility functions to linker_utils" am:
fb3219fbd1
am:
8bd9e9ec69
* commit '
8bd9e9ec697c052f4de00903188f6d01ff688cef':
Move some utility functions to linker_utils
Dimitry Ivanov [Fri, 20 Nov 2015 21:45:36 +0000 (21:45 +0000)]
Merge "Move some utility functions to linker_utils"
am:
fb3219fbd1
* commit '
fb3219fbd1dbb0a369d52cbd0200330fd8852bc1':
Move some utility functions to linker_utils
Dimitry Ivanov [Fri, 20 Nov 2015 21:42:18 +0000 (21:42 +0000)]
Merge "Move some utility functions to linker_utils"
Dmitriy Ivanov [Fri, 20 Nov 2015 21:34:11 +0000 (13:34 -0800)]
Move some utility functions to linker_utils
Also adds unit-tests for page_start, page_offset, and safe_add
Change-Id: Ia1325b4682d367328a01599a19848e4ffcd2c0ea
Dimitry Ivanov [Fri, 20 Nov 2015 19:23:51 +0000 (19:23 +0000)]
Merge "Improve error message for files with no sections" am:
a1ab0d8ed1
am:
d34c33764e
* commit '
d34c33764e0af32f9065c506b8bfb801156e8f98':
Improve error message for files with no sections
Dimitry Ivanov [Fri, 20 Nov 2015 19:19:40 +0000 (19:19 +0000)]
Merge "Improve error message for files with no sections"
am:
a1ab0d8ed1
* commit '
a1ab0d8ed1c4025233b0d816164eefb1b84159b9':
Improve error message for files with no sections
Dimitry Ivanov [Fri, 20 Nov 2015 19:16:14 +0000 (19:16 +0000)]
Merge "Improve error message for files with no sections"
Chih-hung Hsieh [Fri, 20 Nov 2015 19:02:58 +0000 (19:02 +0000)]
Merge "Disable clang for mips/mips64 libc." am:
8d5fb0d787
am:
bb06a84672
* commit '
bb06a846727ecdda6227d95d4fa8570e0cdf3e11':
Disable clang for mips/mips64 libc.
Chih-hung Hsieh [Fri, 20 Nov 2015 18:57:17 +0000 (18:57 +0000)]
Merge "Disable clang for mips/mips64 libc."
am:
8d5fb0d787
* commit '
8d5fb0d78716379d07eddbd75c88c9b7082436ef':
Disable clang for mips/mips64 libc.
Dmitriy Ivanov [Fri, 20 Nov 2015 18:42:02 +0000 (10:42 -0800)]
Improve error message for files with no sections
Bug: http://b/
25801618
Change-Id: I4f4f368e727ff48c84781279e3d17d4ac2d1b6b0
Chih-hung Hsieh [Fri, 20 Nov 2015 18:27:14 +0000 (18:27 +0000)]
Merge "Disable clang for mips/mips64 libc."
Chih-Hung Hsieh [Fri, 20 Nov 2015 17:55:35 +0000 (09:55 -0800)]
Disable clang for mips/mips64 libc.
* Many processes, including adbd, failed to start in mips/mips64
emulator when libc.so was compiled by clang.
BUG:
25291096
Change-Id: If3434ebdca4a3a6bf6102b120ee838a7ab66cd74
Elliott Hughes [Fri, 20 Nov 2015 17:37:33 +0000 (17:37 +0000)]
Merge "mmap: fix calculation of is_private_anonymous variable" am:
43c9045017
am:
cb3af215dc
* commit '
cb3af215dc67899728bc3ef9d33f82358bee1335':
mmap: fix calculation of is_private_anonymous variable
Elliott Hughes [Fri, 20 Nov 2015 17:34:03 +0000 (17:34 +0000)]
Merge "mmap: fix calculation of is_private_anonymous variable"
am:
43c9045017
* commit '
43c90450174ab8839c05702ac01c4092f5b6cd19':
mmap: fix calculation of is_private_anonymous variable
Elliott Hughes [Fri, 20 Nov 2015 17:19:19 +0000 (17:19 +0000)]
Merge "mmap: fix calculation of is_private_anonymous variable"
Vitaly Vul [Thu, 24 Sep 2015 12:28:59 +0000 (14:28 +0200)]
mmap: fix calculation of is_private_anonymous variable
Currently is_private_anonymous is calculated as true if _either_
MAP_PRIVATE or MAP_ANONYMOUS is set, which is a mistake.
According to Documentation/vm/ksm.txt, "KSM only merges anonymous
(private) pages, never pagecache (file) pages". MAP_PRIVATE can
still be set on file cache pages so in order to not redundantly
set MADV_MERGEABLE on pages that are not fitted for it, both
MAP_PRIVATE and MAP_ANONYMOUS should be set.
Along with this fix, add an extra check that the mapped page is
not a stack page before setting MADV_MERGEABLE for it. Stack pages
change too quickly and always end up in KSM 'page_volatile' list.
Change-Id: If4954142852f17cc61f02985ea1cb625a7f3dec6
Josh Gao [Fri, 20 Nov 2015 02:04:44 +0000 (02:04 +0000)]
Merge changes I73a39c6d,Iab2af242 am:
f30170dfa5
am:
8af9a739c9
* commit '
8af9a739c985d63fcf0e3b5ddd051b597f1af44e':
Fix test build break.
extend the PTRDIFF_MAX size check to mremap
Josh Gao [Fri, 20 Nov 2015 02:00:16 +0000 (02:00 +0000)]
Merge changes I73a39c6d,Iab2af242
am:
f30170dfa5
* commit '
f30170dfa514266a0bf007091aa54a866920208c':
Fix test build break.
extend the PTRDIFF_MAX size check to mremap
Josh Gao [Fri, 20 Nov 2015 01:55:56 +0000 (01:55 +0000)]
Merge changes I73a39c6d,Iab2af242
* changes:
Fix test build break.
extend the PTRDIFF_MAX size check to mremap
Yabin Cui [Fri, 20 Nov 2015 00:53:21 +0000 (00:53 +0000)]
Merge "Fix tsan abort for lake of __libc_auxv initialization." am:
79f8d64632
am:
b690cae8dd
* commit '
b690cae8ddf0e88b4c118495ad5a9c6251c622f2':
Fix tsan abort for lake of __libc_auxv initialization.
Yabin Cui [Fri, 20 Nov 2015 00:48:40 +0000 (00:48 +0000)]
Merge "Fix tsan abort for lake of __libc_auxv initialization."
am:
79f8d64632
* commit '
79f8d64632a57ccd62315286b809819de09e0317':
Fix tsan abort for lake of __libc_auxv initialization.
Yabin Cui [Fri, 20 Nov 2015 00:40:00 +0000 (00:40 +0000)]
Merge "Fix tsan abort for lake of __libc_auxv initialization."
Yabin Cui [Thu, 19 Nov 2015 23:17:21 +0000 (23:17 +0000)]
Add getgrgid_r/getgrnam_r.
am:
62a8339051 -s ours
* commit '
62a83390514eb1623192f08f4e12769f77a8941c':
Add getgrgid_r/getgrnam_r.
Elliott Hughes [Thu, 19 Nov 2015 23:13:12 +0000 (23:13 +0000)]
Add all the glibc one-line "synonym" header files.
am:
2375fd7868
* commit '
2375fd7868c5b8c6f5d364e3c70efc024c545566':
Add all the glibc one-line "synonym" header files.
Colin Cross [Thu, 19 Nov 2015 23:04:11 +0000 (23:04 +0000)]
Merge "Update libc/Android.bp to match libc/Android.mk" am:
9c6157c81d
am:
75ba57de43
* commit '
75ba57de435e582ba63c29ed202c82377027d1ba':
Update libc/Android.bp to match libc/Android.mk
Hung-ying Tyan [Thu, 19 Nov 2015 23:04:02 +0000 (23:04 +0000)]
Merge "Add /odm/lib to shared lib search path" am:
0ebe2f07c3
am:
ce77e47b2f
* commit '
ce77e47b2f9dfa097e544c3746b8c82d65f3bfe4':
Add /odm/lib to shared lib search path
Elliott Hughes [Thu, 19 Nov 2015 23:00:47 +0000 (23:00 +0000)]
Add some glibc-like #defines for libchrome.
am:
e87ff2ba0d
* commit '
e87ff2ba0d0bba5a211ab67db48f963ab063d0a6':
Add some glibc-like #defines for libchrome.
Bertrand SIMONNET [Thu, 19 Nov 2015 23:00:43 +0000 (23:00 +0000)]
Add timespec/timeval conversion helpers.
am:
102d83fa99
* commit '
102d83fa99087260d2f1221715c97ec45bc411ac':
Add timespec/timeval conversion helpers.
Daniel Erat [Thu, 19 Nov 2015 23:00:39 +0000 (23:00 +0000)]
libc: Add sys/fcntl.h for compatibility.
am:
950d3e9909
* commit '
950d3e99092727544fd589029a067ba8f15b5693':
libc: Add sys/fcntl.h for compatibility.
Elliott Hughes [Thu, 19 Nov 2015 23:00:34 +0000 (23:00 +0000)]
Add <sysexits.h>.
am:
e924d8528c
* commit '
e924d8528cc566ee5569a42c92e9f698c857d48a':
Add <sysexits.h>.
Colin Cross [Thu, 19 Nov 2015 22:58:20 +0000 (22:58 +0000)]
Merge "Update libc/Android.bp to match libc/Android.mk"
am:
9c6157c81d
* commit '
9c6157c81d123d8c6ba1aa8d7ee5c67b0840666c':
Update libc/Android.bp to match libc/Android.mk
Colin Cross [Thu, 19 Nov 2015 22:48:33 +0000 (22:48 +0000)]
Merge "Update libc/Android.bp to match libc/Android.mk"
Yabin Cui [Thu, 19 Nov 2015 22:24:06 +0000 (14:24 -0800)]
Fix tsan abort for lake of __libc_auxv initialization.
If tsan is used, the following callchain can happen:
__libc_preinit() -> __libc_init_globals() ->
__libc_init_vdso() -> strcmp() -> __tsan_init()
-> sysconf(_SC_PAGE_SIZE) -> getauxval().
But __libc_auxv is initialized in __libc_init_common(),
after __libc_init_globals(). One simple way to fix
this is to initialize __libc_auxv at __libc_init_globals().
Bug:
25392375
Change-Id: I3893b1f567d5f3b7a8c881c0c1b8234b06b7751b
Colin Cross [Thu, 19 Nov 2015 21:32:49 +0000 (13:32 -0800)]
Update libc/Android.bp to match libc/Android.mk
Change-Id: I4dfadc55688213f095949c56306e5071b2ab6135
Josh Gao [Thu, 19 Nov 2015 21:44:20 +0000 (13:44 -0800)]
Fix test build break.
Change-Id: I73a39c6d4bb9baebbfb5572e9259bcd405116039
Yabin Cui [Thu, 5 Nov 2015 23:36:08 +0000 (15:36 -0800)]
Use FUTEX_WAIT_BITSET to avoid converting timeouts.
Add unittests for pthread APIs with timeout parameter.
Bug:
17569991
Change-Id: I6b3b9b2feae03680654cd64c3112ce7644632c87
Hung-ying Tyan [Thu, 19 Nov 2015 16:45:08 +0000 (16:45 +0000)]
Merge "Add /odm/lib to shared lib search path"
am:
0ebe2f07c3
* commit '
0ebe2f07c35d4b764bc5d8b5226004e3db46da91':
Add /odm/lib to shared lib search path
Hung-ying Tyan [Thu, 19 Nov 2015 16:38:51 +0000 (16:38 +0000)]
Merge "Add /odm/lib to shared lib search path"
Daniel Micay [Sat, 7 Nov 2015 15:40:26 +0000 (10:40 -0500)]
extend the PTRDIFF_MAX size check to mremap
This removes another way to obtain objects larger than PTRDIFF_MAX. The
only known remaining hole is now jemalloc's merging of virtual memory
spans.
Technically this could be wrapped in an __LP64__ ifndef since it can't
occur on 64-bit due to the 1:1 split. It doesn't really matter either
way.
Change-Id: Iab2af242b775bc98a59421994d87aca0433215bd
Junichi Uekawa [Thu, 19 Nov 2015 12:55:19 +0000 (12:55 +0000)]
Merge "Do not depend on host bits to get the right size to write." am:
313632db57
am:
1ab4088062
* commit '
1ab4088062ffdebbb82e5cf1fe9819fb6cc76555':
Do not depend on host bits to get the right size to write.
Junichi Uekawa [Thu, 19 Nov 2015 12:51:01 +0000 (12:51 +0000)]
Merge "Do not depend on host bits to get the right size to write."
am:
313632db57
* commit '
313632db574d101275206ca025d21a5a3cd62150':
Do not depend on host bits to get the right size to write.
Junichi Uekawa [Thu, 19 Nov 2015 12:44:19 +0000 (12:44 +0000)]
Merge "Do not depend on host bits to get the right size to write."
Junichi Uekawa [Wed, 18 Nov 2015 01:18:59 +0000 (10:18 +0900)]
Do not depend on host bits to get the right size to write.
x86_64 32-bit or 64-bit relocations do not depend on ELF bit size, they
are 32-bit or 64-bit respectively.
Known compiler that emits such code is nacl-clang which emits
R_X86_64_PC32 which should write 32 bits but ended up writing 64 bits.
Change-Id: Ibb6b484c0fea6a7e291362148e8ac749d6674529
Yabin Cui [Thu, 19 Nov 2015 02:09:25 +0000 (02:09 +0000)]
Merge "Implement pthread spin." am:
2c09e5de29
am:
f091c1f2f1
* commit '
f091c1f2f1cf7f363ba59c08b88f1fb5de05607d':
Implement pthread spin.
Yabin Cui [Thu, 19 Nov 2015 02:09:14 +0000 (02:09 +0000)]
Merge "Avoid tsan warning about pthread_mutex_destroy." am:
ea5bb151af
am:
9d4bd6f0ca
* commit '
9d4bd6f0caa0d1d7947767a7ea3517c2a764e7e6':
Avoid tsan warning about pthread_mutex_destroy.
Yabin Cui [Thu, 19 Nov 2015 02:03:24 +0000 (02:03 +0000)]
Merge "Implement pthread spin."
am:
2c09e5de29
* commit '
2c09e5de299ca87a9e68807e2b4af41ba61710f3':
Implement pthread spin.
Yabin Cui [Thu, 19 Nov 2015 02:03:13 +0000 (02:03 +0000)]
Merge "Avoid tsan warning about pthread_mutex_destroy."
am:
ea5bb151af
* commit '
ea5bb151af5e1e364968cb1eac70c8a2c13ca7a7':
Avoid tsan warning about pthread_mutex_destroy.
Yabin Cui [Thu, 19 Nov 2015 01:55:37 +0000 (01:55 +0000)]
Merge "Implement pthread spin."
Yabin Cui [Thu, 19 Nov 2015 01:55:25 +0000 (01:55 +0000)]
Merge "Avoid tsan warning about pthread_mutex_destroy."
Yabin Cui [Wed, 18 Nov 2015 00:03:18 +0000 (16:03 -0800)]
Implement pthread spin.
In order to run tsan unit tests, we need to support pthread spin APIs.
Bug:
18623621
Bug:
25392375
Change-Id: Icbb4a74e72e467824b3715982a01600031868e29
Dimitry Ivanov [Wed, 18 Nov 2015 17:20:26 +0000 (17:20 +0000)]
Merge "Ignore target sdk version for the public namespace" am:
63f0e0db76
am:
3f539a1655
* commit '
3f539a16555739cc5d429926d29870f8661a6c54':
Ignore target sdk version for the public namespace
Hung-ying Tyan [Thu, 12 Nov 2015 03:48:19 +0000 (11:48 +0800)]
Add /odm/lib to shared lib search path
ODM's shared libs should live in /odm/lib on the ODM partition.
BUG:
25654402
Change-Id: I3f5c26f208af87ff2817e490e51d0b4f5b8ec98e
Dimitry Ivanov [Wed, 18 Nov 2015 03:52:50 +0000 (03:52 +0000)]
Merge "Ignore target sdk version for the public namespace"
am:
63f0e0db76
* commit '
63f0e0db768ea9be4db3dd6a2fb62ea942afb9d6':
Ignore target sdk version for the public namespace
Dimitry Ivanov [Wed, 18 Nov 2015 03:43:59 +0000 (03:43 +0000)]
Merge "Ignore target sdk version for the public namespace"