[NFC][sanitizer] Move InitTlsSize into InitializePlatformEarly (#108921)
This commit is contained in:
@@ -478,9 +478,6 @@ static bool AsanInitInternal() {
|
||||
if (flags()->start_deactivated)
|
||||
AsanDeactivate();
|
||||
|
||||
// interceptors
|
||||
InitTlsSize();
|
||||
|
||||
// Create main thread.
|
||||
AsanThread *main_thread = CreateMainThread();
|
||||
CHECK_EQ(0, main_thread->tid());
|
||||
|
||||
@@ -1262,6 +1262,8 @@ static void DFsanInit(int argc, char **argv, char **envp) {
|
||||
|
||||
CheckASLR();
|
||||
|
||||
InitializePlatformEarly();
|
||||
|
||||
if (!InitShadowWithReExec(dfsan_get_track_origins())) {
|
||||
Printf("FATAL: DataflowSanitizer can not mmap the shadow memory.\n");
|
||||
DumpProcessMap();
|
||||
|
||||
@@ -357,8 +357,6 @@ __attribute__((constructor(0))) void __hwasan_init() {
|
||||
hwasan_init_is_running = 1;
|
||||
SanitizerToolName = "HWAddressSanitizer";
|
||||
|
||||
InitTlsSize();
|
||||
|
||||
CacheBinaryName();
|
||||
InitializeFlags();
|
||||
|
||||
@@ -367,6 +365,8 @@ __attribute__((constructor(0))) void __hwasan_init() {
|
||||
|
||||
__sanitizer_set_report_path(common_flags()->log_path);
|
||||
|
||||
InitializePlatformEarly();
|
||||
|
||||
AndroidTestTlsSlot();
|
||||
|
||||
DisableCoreDumperIfNecessary();
|
||||
|
||||
@@ -92,10 +92,10 @@ extern "C" void __lsan_init() {
|
||||
CacheBinaryName();
|
||||
AvoidCVE_2016_2143();
|
||||
InitializeFlags();
|
||||
InitializePlatformEarly();
|
||||
InitCommonLsan();
|
||||
InitializeAllocator();
|
||||
ReplaceSystemMalloc();
|
||||
InitTlsSize();
|
||||
InitializeInterceptors();
|
||||
InitializeThreads();
|
||||
InstallDeadlySignalHandlers(LsanOnDeadlySignal);
|
||||
|
||||
@@ -213,9 +213,6 @@ static void MemprofInitInternal() {
|
||||
|
||||
InitializeCoverage(common_flags()->coverage, common_flags()->coverage_dir);
|
||||
|
||||
// interceptors
|
||||
InitTlsSize();
|
||||
|
||||
// Create main thread.
|
||||
MemprofThread *main_thread = CreateMainThread();
|
||||
CHECK_EQ(0, main_thread->tid());
|
||||
|
||||
@@ -457,10 +457,11 @@ void __msan_init() {
|
||||
|
||||
__sanitizer_set_report_path(common_flags()->log_path);
|
||||
|
||||
InitializePlatformEarly();
|
||||
|
||||
InitializeInterceptors();
|
||||
InstallAtForkHandler();
|
||||
CheckASLR();
|
||||
InitTlsSize();
|
||||
InstallDeadlySignalHandlers(MsanOnDeadlySignal);
|
||||
InstallAtExitHandler(); // Needs __cxa_atexit interceptor.
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ namespace __sanitizer {
|
||||
#if !SANITIZER_WINDOWS
|
||||
# if SANITIZER_LINUX
|
||||
void LogMessageOnPrintf(const char *str) {}
|
||||
void InitTlsSize() {}
|
||||
# endif
|
||||
void WriteToSyslog(const char *buffer) {}
|
||||
void Abort() { internal__exit(1); }
|
||||
|
||||
@@ -94,7 +94,6 @@ void DisableCoreDumperIfNecessary() {}
|
||||
void InstallDeadlySignalHandlers(SignalHandlerType handler) {}
|
||||
void SetAlternateSignalStack() {}
|
||||
void UnsetAlternateSignalStack() {}
|
||||
void InitTlsSize() {}
|
||||
|
||||
bool SignalContext::IsStackOverflow() const { return false; }
|
||||
void SignalContext::DumpAllRegisters(void *context) { UNIMPLEMENTED(); }
|
||||
|
||||
@@ -2672,9 +2672,7 @@ static void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) {
|
||||
|
||||
void SignalContext::InitPcSpBp() { GetPcSpBp(context, &pc, &sp, &bp); }
|
||||
|
||||
void InitializePlatformEarly() {
|
||||
// Do nothing.
|
||||
}
|
||||
void InitializePlatformEarly() { InitTlsSize(); }
|
||||
|
||||
void CheckASLR() {
|
||||
# if SANITIZER_NETBSD
|
||||
|
||||
@@ -228,9 +228,12 @@ void InitTlsSize() {
|
||||
|
||||
# if defined(__aarch64__) || defined(__x86_64__) || \
|
||||
defined(__powerpc64__) || defined(__loongarch__)
|
||||
void *get_tls_static_info = dlsym(RTLD_DEFAULT, "_dl_get_tls_static_info");
|
||||
auto *get_tls_static_info = (void (*)(size_t *, size_t *))dlsym(
|
||||
RTLD_DEFAULT, "_dl_get_tls_static_info");
|
||||
size_t tls_align;
|
||||
((void (*)(size_t *, size_t *))get_tls_static_info)(&g_tls_size, &tls_align);
|
||||
// Can be null if static link.
|
||||
if (get_tls_static_info)
|
||||
get_tls_static_info(&g_tls_size, &tls_align);
|
||||
# endif
|
||||
}
|
||||
# else
|
||||
|
||||
@@ -545,9 +545,6 @@ uptr GetTlsSize() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void InitTlsSize() {
|
||||
}
|
||||
|
||||
uptr TlsBaseAddr() {
|
||||
uptr segbase = 0;
|
||||
#if defined(__x86_64__)
|
||||
|
||||
@@ -873,9 +873,6 @@ uptr GetTlsSize() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void InitTlsSize() {
|
||||
}
|
||||
|
||||
void GetThreadStackAndTls(bool main, uptr *stk_begin, uptr *stk_end,
|
||||
uptr *tls_begin, uptr *tls_end) {
|
||||
# if SANITIZER_GO
|
||||
|
||||
@@ -418,7 +418,6 @@ void InitializePlatform() {
|
||||
Die();
|
||||
}
|
||||
|
||||
InitTlsSize();
|
||||
#endif // !SANITIZER_GO
|
||||
}
|
||||
|
||||
|
||||
@@ -43,8 +43,8 @@ static void CommonStandaloneInit() {
|
||||
SanitizerToolName = GetSanititizerToolName();
|
||||
CacheBinaryName();
|
||||
InitializeFlags();
|
||||
__sanitizer::InitializePlatformEarly();
|
||||
__sanitizer_set_report_path(common_flags()->log_path);
|
||||
__sanitizer::InitializePlatformEarly();
|
||||
AndroidLogInit();
|
||||
InitializeCoverage(common_flags()->coverage, common_flags()->coverage_dir);
|
||||
CommonInit();
|
||||
|
||||
Reference in New Issue
Block a user