llvm-project/compiler-rt/lib/scudo
Kostya Kortchinsky 06b891f693 [scudo] Workaround for uninitialized Bionic globals
Summary:
Bionic doesn't initialize its globals early enough. This causes issues when
trying to access them from a preinit_array (b/25751302) or from another
constructor called before the libc one (b/68046352). __progname is initialized
after the other globals, so we can check its value to know if calling
`getauxval` is safe.

Reviewers: alekseyshl

Reviewed By: alekseyshl

Subscribers: srhines, llvm-commits

Differential Revision: https://reviews.llvm.org/D40504

llvm-svn: 319099
2017-11-27 21:34:43 +00:00
..
CMakeLists.txt [scudo] Implement stricter separation of C vs C++ 2017-11-01 15:28:20 +00:00
scudo_allocator.cpp [scudo] Overhaul hardware CRC32 feature detection 2017-11-22 18:30:44 +00:00
scudo_allocator.h [scudo] Remove comment about security of the 32-bit allocator 2017-10-25 22:00:26 +00:00
scudo_allocator_combined.h [scudo] Do not grab a cache for secondary allocation & per related changes 2017-07-13 21:01:19 +00:00
scudo_allocator_secondary.h [sanitizer] Update scudo to use new API 2017-11-13 20:38:22 +00:00
scudo_crc32.cpp [scudo] CRC32 optimizations 2017-05-09 15:12:38 +00:00
scudo_crc32.h [sanitizer] Add Scudo to the sanitizer lint checks. 2017-11-08 16:42:29 +00:00
scudo_flags.cpp [scudo] Simplify initialization and flags 2017-11-14 16:14:53 +00:00
scudo_flags.h [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_flags.inc [scudo] Quarantine overhaul 2017-07-24 15:29:38 +00:00
scudo_interceptors.cpp [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_new_delete.cpp [scudo] Application & platform compatibility changes 2017-08-16 16:40:48 +00:00
scudo_platform.h [scudo] Allow to specify the maximum number of TSDs at compile time 2017-10-27 20:10:14 +00:00
scudo_termination.cpp [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_tsd.h [scudo] Allow for non-Android Shared TSD platforms, part 1 2017-10-12 15:01:09 +00:00
scudo_tsd_exclusive.cpp [scudo] Allow for non-Android Shared TSD platforms, part 1 2017-10-12 15:01:09 +00:00
scudo_tsd_exclusive.inc [scudo] Scudo thread specific data refactor, part 3 2017-09-26 17:20:02 +00:00
scudo_tsd_shared.cpp [scudo] Make getNumberOfCPUs Fuchsia compliant v2 2017-11-21 21:14:00 +00:00
scudo_tsd_shared.inc [scudo] Allow for non-Android Shared TSD platforms, part 2 2017-10-13 20:55:31 +00:00
scudo_utils.cpp [scudo] Workaround for uninitialized Bionic globals 2017-11-27 21:34:43 +00:00
scudo_utils.h [scudo] Overhaul hardware CRC32 feature detection 2017-11-22 18:30:44 +00:00