Patrick Williams | de0582f | 2022-04-08 10:23:27 -0500 | [diff] [blame] | 1 | The patch is needed in order to support recent glibc (2.34). |
| 2 | |
| 3 | Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=91f8a7a34cf29ae7c465603a801326767f1cc7e9] |
| 4 | |
| 5 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> |
| 6 | |
| 7 | --- |
| 8 | --- a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp 2022-03-15 07:59:54.515325204 -0700 |
| 9 | +++ b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp 2022-03-15 08:01:45.919405931 -0700 |
| 10 | @@ -166,9 +166,10 @@ |
| 11 | #if !SANITIZER_GO |
| 12 | // TODO(glider): different tools may require different altstack size. |
| 13 | static uptr GetAltStackSize() { |
| 14 | - // SIGSTKSZ is not enough. |
| 15 | - static const uptr kAltStackSize = SIGSTKSZ * 4; |
| 16 | - return kAltStackSize; |
| 17 | + // Note: since GLIBC_2.31, SIGSTKSZ may be a function call, so this may be |
| 18 | + // more costly that you think. However GetAltStackSize is only call 2-3 times |
| 19 | + // per thread so don't cache the evaluation. |
| 20 | + return SIGSTKSZ * 4; |
| 21 | } |
| 22 | |
| 23 | void SetAlternateSignalStack() { |