File sanitizer-glibc-2.31.patch of Package gcc6

diff -urEbwB gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc gcc-6.5.0.new/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
--- gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc	2018-09-23 10:36:14.000000000 +0200
+++ gcc-6.5.0.new/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc	2020-04-15 23:54:29.843070366 +0200
@@ -1130,8 +1130,9 @@
 #ifndef __GLIBC_PREREQ
 #define __GLIBC_PREREQ(x, y) 0
 #endif
-#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 -urEbwB gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h gcc-6.5.0.new/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
--- gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h	2017-06-29 20:26:45.000000000 +0200
+++ gcc-6.5.0.new/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h	2020-04-15 23:58:02.119074559 +0200
@@ -207,20 +207,13 @@
     unsigned long __unused1;
     unsigned long __unused2;
 #elif defined(__sparc__)
-# if defined(__arch64__)
     unsigned mode;
-    unsigned short __pad1;
-# else
-    unsigned short __pad1;
-    unsigned short mode;
     unsigned short __pad2;
-# endif
     unsigned short __seq;
     unsigned long long __unused1;
     unsigned long long __unused2;
 #else
-    unsigned short mode;
-    unsigned short __pad1;
+    unsigned int mode;
     unsigned short __seq;
     unsigned short __pad2;
 #if defined(__x86_64__) && !defined(_LP64)
openSUSE Build Service is sponsored by