39 lines
1.4 KiB
Diff
39 lines
1.4 KiB
Diff
From 91f8a7a34cf29ae7c465603a801326767f1cc7e9 Mon Sep 17 00:00:00 2001
|
|
From: Martin Liska <mliska@suse.cz>
|
|
Date: Thu, 5 Aug 2021 10:43:17 +0200
|
|
Subject: [PATCH] sanitizer: cherry pick
|
|
414482751452e54710f16bae58458c66298aaf69
|
|
|
|
The patch is needed in order to support recent glibc (2.34).
|
|
|
|
libsanitizer/ChangeLog:
|
|
|
|
PR sanitizer/101749
|
|
* sanitizer_common/sanitizer_posix_libcdep.cpp: Prevent
|
|
generation of dependency on _cxa_guard for static
|
|
initialization.
|
|
---
|
|
libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp
|
|
index 7ff48c35851..a65b16f5290 100644
|
|
--- a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp
|
|
+++ b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp
|
|
@@ -166,9 +166,10 @@ bool SupportsColoredOutput(fd_t fd) {
|
|
#if !SANITIZER_GO
|
|
// TODO(glider): different tools may require different altstack size.
|
|
static uptr GetAltStackSize() {
|
|
- // SIGSTKSZ is not enough.
|
|
- static const uptr kAltStackSize = SIGSTKSZ * 4;
|
|
- return kAltStackSize;
|
|
+ // Note: since GLIBC_2.31, SIGSTKSZ may be a function call, so this may be
|
|
+ // more costly that you think. However GetAltStackSize is only call 2-3 times
|
|
+ // per thread so don't cache the evaluation.
|
|
+ return SIGSTKSZ * 4;
|
|
}
|
|
|
|
void SetAlternateSignalStack() {
|
|
--
|
|
2.27.0
|