diff options
author | Sundeep KOKKONDA <sundeep.kokkonda@gmail.com> | 2022-03-15 21:25:07 +0530 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-04-03 11:28:57 +0100 |
commit | c44c4e7fb3c860d9fcb2aada0c9d4acb1e1e8101 (patch) | |
tree | ca34a42dde84de33f9fce80ba0161b1ac0f77ce4 | |
parent | b9c3db4953e4e7b423ba9ec5b618fd990c378bc1 (diff) | |
download | openembedded-core-contrib-c44c4e7fb3c860d9fcb2aada0c9d4acb1e1e8101.tar.gz |
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.
Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-11.2.inc | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc/0042-Fix-thread-stack-size-init.patch | 23 |
2 files changed, 24 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-11.2.inc b/meta/recipes-devtools/gcc/gcc-11.2.inc index 2394c86e29..68e0d203fc 100644 --- a/meta/recipes-devtools/gcc/gcc-11.2.inc +++ b/meta/recipes-devtools/gcc/gcc-11.2.inc @@ -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" diff --git a/meta/recipes-devtools/gcc/gcc/0042-Fix-thread-stack-size-init.patch b/meta/recipes-devtools/gcc/gcc/0042-Fix-thread-stack-size-init.patch new file mode 100644 index 0000000000..3fb9ee98de --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc/0042-Fix-thread-stack-size-init.patch @@ -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() { |