[Bug sanitizer/105614] mips64: sanitizer_platform_limits_linux.cpp:75:38: error: static assertion failed

hp at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri May 20 00:10:57 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105614

--- Comment #7 from Hans-Peter Nilsson <hp at gcc dot gnu.org> ---
(In reply to Martin Liška from comment #6)
> The GCC divergence comes from
> https://github.com/gcc-mirror/gcc/commit/
> 9f943b2446f2d0a345bbf9b4be3d3a4316372270

(Why refer to gcc commits through some mirror repo?)

This is r9-17-g9f943b2446f2d0.

At a glance, it looks like a trivial merge error.  ISTM the fix is to *again*
do as in that patch; drop "|| defined(__mips__)" to avoid suffering from the
<sys/stat.h> badness:

diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cpp
b/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cpp
index 2b1a2f7932cb..d9f1bc3b8bbd 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cpp
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cpp
@@ -31,7 +31,7 @@
 // Also, for some platforms (e.g. mips) there are additional members in the
 // <sys/stat.h> struct stat:s.
 #include <linux/posix_types.h>
-#  if defined(__x86_64__) || defined(__mips__) || defined(__hexagon__)
+#  if defined(__x86_64__) || defined(__hexagon__)
 #    include <sys/stat.h>
 #  else
 #    define ino_t __kernel_ino_t

HTH.


More information about the Gcc-bugs mailing list