diff options
Diffstat (limited to '0003-Fix-narrowing-conversion.patch')
-rw-r--r-- | 0003-Fix-narrowing-conversion.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/0003-Fix-narrowing-conversion.patch b/0003-Fix-narrowing-conversion.patch new file mode 100644 index 000000000000..61ed1a8b9917 --- /dev/null +++ b/0003-Fix-narrowing-conversion.patch @@ -0,0 +1,37 @@ +Index: lib/sanitizer_common/sanitizer_platform_limits_posix.cc +=================================================================== +--- lib/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ lib/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -1147,8 +1158,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 + +Index: lib/sanitizer_common/sanitizer_platform_limits_posix.h +=================================================================== +--- lib/sanitizer_common/sanitizer_platform_limits_posix.h ++++ lib/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -218,15 +218,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) |