Add missing libsanitizer extra patch (r259664) (PR sanitizer/89941).
authorMartin Liska <mliska@suse.cz>
Mon, 8 Apr 2019 13:08:30 +0000 (15:08 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Mon, 8 Apr 2019 13:08:30 +0000 (13:08 +0000)
2019-04-08  Martin Liska  <mliska@suse.cz>

PR sanitizer/89941
* sanitizer_common/sanitizer_platform_limits_linux.cc (defined):
Reapply patch from r259664.
* sanitizer_common/sanitizer_platform_limits_posix.h (defined):
Likewise.

From-SVN: r270208

libsanitizer/ChangeLog
libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc
libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h

index 8b599bb754ce71f871912f69795b3302ead3d885..a5b56c76b3f8d14dde055f60a01435d90cdd0caf 100644 (file)
@@ -1,3 +1,11 @@
+2019-04-08  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/89941
+       * sanitizer_common/sanitizer_platform_limits_linux.cc (defined):
+       Reapply patch from r259664.
+       * sanitizer_common/sanitizer_platform_limits_posix.h (defined):
+       Likewise.
+
 2019-03-13  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR sanitizer/80953
index 23a014823c4fcca46e86dccc5bb57a2679df43f4..3a9065381293d589a6f6ceb543903fd2f4e75074 100644 (file)
 
 // With old kernels (and even new kernels on powerpc) asm/stat.h uses types that
 // are not defined anywhere in userspace headers. Fake them. This seems to work
-// fine with newer headers, too.
+// fine with newer headers, too.  Beware that with <sys/stat.h>, struct stat
+// takes the form of struct stat64 on 32-bit platforms if _FILE_OFFSET_BITS=64.
+// 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__)
+#if defined(__x86_64__)
 #include <sys/stat.h>
 #else
 #define ino_t __kernel_ino_t
index 91f38918f35c55cb5cc210721abcfc9eff196b41..73af92af1e8fbab02473de186c5b105058e9bcea 100644 (file)
@@ -87,7 +87,7 @@ namespace __sanitizer {
 #elif defined(__mips__)
   const unsigned struct_kernel_stat_sz =
                  SANITIZER_ANDROID ? FIRST_32_SECOND_64(104, 128) :
-                                     FIRST_32_SECOND_64(160, 216);
+                                     FIRST_32_SECOND_64(144, 216);
   const unsigned struct_kernel_stat64_sz = 104;
 #elif defined(__s390__) && !defined(__s390x__)
   const unsigned struct_kernel_stat_sz = 64;