Fix assertion failure in libsanitizer when using glibc 2.31 and later.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92154
https://reviews.llvm.org/D69104
Adapted from these upstream revision:
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=277981
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=279653
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
index 069d8d557de..c49c28c6e07 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -1130,8 +1130,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
#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 --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
index 304d04e3935..6dee89c97e1 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -207,20 +207,13 @@ namespace __sanitizer {
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)
path'>path: root/gnu/packages/sawfish.scm
Age | Commit message (Expand) | Author |
2020-03-15 | gnu: librep: Update home page....* gnu/packages/sawfish.scm (librep)[home-page]: Follow (HTTPS)
redirection.
| Tobias Geerinckx-Rice |
2020-03-15 | gnu: librep: Don't use NAME in source URI....* gnu/packages/sawfish.scm (librep)[source]: Hard-code NAME.
| Tobias Geerinckx-Rice |
2019-06-27 | gnu: rep-gtk: Update to 0.90.8.3....* gnu/packages/sawfish.scm (rep-gtk): Update to 0.90.8.3.
[source]: Use HTTPS URI.
[arguments]: Add remove-autogen phase.
[native-inputs]: Add autoconf, automake and libtool.
[home-page]: Update URI.
| Arun Isaac |
2019-06-27 | gnu: sawfish: Update to 1.12.0....* gnu/packages/sawfish.scm (sawfish): Update to 1.12.0.
[source]: Use HTTPS URI.
[home-page]: Update URI.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Benjamin Slade |