gcc: sanitizer: Fix tsan against glibc 2.34

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.

(From OE-Core rev: c44c4e7fb3c860d9fcb2aada0c9d4acb1e1e8101)

Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Sundeep KOKKONDA
2022-03-15 21:25:07 +05:30
committed by Richard Purdie
parent fb1291ea5f
commit 99bcad583a
2 changed files with 24 additions and 0 deletions

View File

@@ -68,6 +68,7 @@ SRC_URI = "\
file://0003-CVE-2021-42574.patch \
file://0004-CVE-2021-42574.patch \
file://0001-CVE-2021-46195.patch \
file://0042-Fix-thread-stack-size-init.patch \
"
SRC_URI[sha256sum] = "d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b"

View File

@@ -0,0 +1,23 @@
The patch is needed in order to support recent glibc (2.34).
Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=91f8a7a34cf29ae7c465603a801326767f1cc7e9]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
--- a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp 2022-03-15 07:59:54.515325204 -0700
+++ b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp 2022-03-15 08:01:45.919405931 -0700
@@ -166,9 +166,10 @@
#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() {