diff options
Diffstat (limited to 'sys-libs/compiler-rt-sanitizers/files')
-rw-r--r-- | sys-libs/compiler-rt-sanitizers/files/9.0.1/glibc-2.31.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/sys-libs/compiler-rt-sanitizers/files/9.0.1/glibc-2.31.patch b/sys-libs/compiler-rt-sanitizers/files/9.0.1/glibc-2.31.patch new file mode 100644 index 000000000000..ed52c67dbc57 --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/files/9.0.1/glibc-2.31.patch @@ -0,0 +1,35 @@ +diff -ur compiler-rt.orig/lib/sanitizer_common/sanitizer_platform_limits_posix.cc compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +--- compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-12-11 19:15:30.000000000 +0000 ++++ compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc 2020-09-27 17:38:13.848840427 +0000 +@@ -1126,8 +1126,9 @@ + CHECK_SIZE_AND_OFFSET(ipc_perm, gid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); +-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) +-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit ++ on many architectures. */ + CHECK_SIZE_AND_OFFSET(ipc_perm, mode); + #endif + +diff -ur compiler-rt.orig/lib/sanitizer_common/sanitizer_platform_limits_posix.h compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +--- compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h 2019-12-11 19:15:30.000000000 +0000 ++++ compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h 2020-09-27 17:37:29.433597671 +0000 +@@ -214,15 +214,8 @@ + unsigned short __seq; + unsigned long long __unused1; + unsigned long long __unused2; +-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__) +- unsigned int mode; +- unsigned short __seq; +- unsigned short __pad1; +- unsigned long __unused1; +- unsigned long __unused2; + #else +- unsigned short mode; +- unsigned short __pad1; ++ unsigned int mode; + unsigned short __seq; + unsigned short __pad2; + #if defined(__x86_64__) && !defined(_LP64) |