hanchenye-llvm-project/compiler-rt
Kuba Mracek 6b6d9bbd48 [sanitizer] Avoid calling a nullptr in MonotonicNanoTime if interceptors are not yet initialized
There's a TSan startup crash on Linux when used in Swift programs, where MonotonicNanoTime will try to call real_clock_gettime and then jump to NULL because interceptors are not yet initialized. This is on Ubuntu 18.04. Looks like TSan's main Initialize() function is called at a point where __progname is already set, but interceptors aren't yet set up. Let's fix this by checking whether interceptors are initialized in MonotonicNanoTime.

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

llvm-svn: 345174
2018-10-24 18:40:08 +00:00
..
cmake [compiler-rt] Don't explicitly set CMAKE_CXX_FLAGS. 2018-10-18 18:04:28 +00:00
docs
include [sanitizer] Include inlined frames into __sanitizer_symbolize_pc output 2018-10-02 17:01:18 +00:00
lib [sanitizer] Avoid calling a nullptr in MonotonicNanoTime if interceptors are not yet initialized 2018-10-24 18:40:08 +00:00
test [hwasan] when printing a stack-related bugs, also print stack frame descriptions provided by the compiler 2018-10-24 01:35:50 +00:00
unittests [XRay] Add LD_LIBRARY_PATH to env variables for Unit Tests 2018-09-27 23:15:05 +00:00
utils [sanitizer] Cleanup sorting functions 2018-05-09 20:42:11 +00:00
www
.arcconfig [compiler-rt] Set up .arcconfig to point to new Diffusion CRT repository 2017-12-06 20:55:32 +00:00
.gitignore Add .pyc files to .gitignore to compiler-rt 2017-07-24 21:51:12 +00:00
CMakeLists.txt [sanitizer] Use -Wl,-z,global on Android for sanitizers except UBsan 2018-10-02 16:19:42 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
README.txt

README.txt

Compiler-RT
================================

This directory and its subdirectories contain source code for the compiler
support routines.

Compiler-RT is open source software. You may freely distribute it under the
terms of the license agreement found in LICENSE.txt.

================================