[compiler-rt] Fall back to internal_uname() when called early
Summary: Commit 5f5fb56c ("[compiler-rt] Intercept the uname() function") broke sanitizer-x86_64-linux and clang-cmake-thumbv7-full-sh (again) builds: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/26313 http://lab.llvm.org:8011/builders/clang-cmake-thumbv7-full-sh/builds/4324 The reason is that uname() can be called as early as __pthread_initialize_minimal_internal(). When intercepted, this triggers ASan initialization, which eventually calls dlerror(), which in turn uses pthreads, causing all sorts of issues. Fix by falling back to internal_uname() when interceptor runs before ASan is initialized. This is only for Linux at the moment. Reviewers: eugenis, vitalybuka Reviewed By: eugenis Subscribers: dberris, #sanitizers, pcc Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D76919
Loading
Please register or sign in to comment