diff options
author | Yabin Cui <yabinc@google.com> | 2015-11-19 14:24:06 -0800 |
---|---|---|
committer | Yabin Cui <yabinc@google.com> | 2015-11-19 14:24:06 -0800 |
commit | 284068f44fd1ad2d22980ea39f49d2c1b74014c7 (patch) | |
tree | dc6b3fa412ace9376d03b637620799fb63f05506 /linker/linker_utils.cpp | |
parent | 0ebe2f07c35d4b764bc5d8b5226004e3db46da91 (diff) |
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
Diffstat (limited to 'linker/linker_utils.cpp')
0 files changed, 0 insertions, 0 deletions