[NFC][sanitizer] Move InitTlsSize into InitializePlatformEarly (#108921)

This commit is contained in:
Vitaly Buka
2024-09-18 16:19:35 -07:00
committed by GitHub
parent 38752ffd41
commit a0bb2e21c1
14 changed files with 15 additions and 24 deletions

View File

@@ -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());

View File

@@ -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();

View File

@@ -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();

View File

@@ -92,10 +92,10 @@ extern "C" void __lsan_init() {
CacheBinaryName();
AvoidCVE_2016_2143();
InitializeFlags();
InitializePlatformEarly();
InitCommonLsan();
InitializeAllocator();
ReplaceSystemMalloc();
InitTlsSize();
InitializeInterceptors();
InitializeThreads();
InstallDeadlySignalHandlers(LsanOnDeadlySignal);

View File

@@ -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());

View File

@@ -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.

View File

@@ -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); }

View File

@@ -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(); }

View File

@@ -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

View File

@@ -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

View File

@@ -545,9 +545,6 @@ uptr GetTlsSize() {
return 0;
}
void InitTlsSize() {
}
uptr TlsBaseAddr() {
uptr segbase = 0;
#if defined(__x86_64__)

View File

@@ -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

View File

@@ -418,7 +418,6 @@ void InitializePlatform() {
Die();
}
InitTlsSize();
#endif // !SANITIZER_GO
}

View File

@@ -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();