]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Use 64-bit system types for x86-64
authorH.J. Lu <hongjiu.lu@intel.com>
Wed, 6 Nov 2013 21:51:41 +0000 (21:51 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Wed, 6 Nov 2013 21:51:41 +0000 (13:51 -0800)
PR sanitizer/59018
* sanitizer_common/sanitizer_platform_limits_linux.cc
(struct_kernel_stat64_sz): Initialize to 0 if __x86_64__ is
defined.
* sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer_dirent): Use 64-bit d_ino/d_off if __x86_64__ is
defined.
(__sanitizer___kernel_uid_t): Typedef as unsigned if __x86_64__
is defined.
(__sanitizer___kernel_gid_t): Likewise.
(__sanitizer___kernel_off_t): Typedef as long long if __x86_64__
is defined.

From-SVN: r204482

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

index 6103d62b3290efbbf61e9b21057d90400ad81f5d..03b45e8fadde52ff7bcc9515172200d04fd00ed8 100644 (file)
@@ -1,3 +1,18 @@
+2013-11-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR sanitizer/59018
+       * sanitizer_common/sanitizer_platform_limits_linux.cc
+       (struct_kernel_stat64_sz): Initialize to 0 if __x86_64__ is
+       defined.
+       * sanitizer_common/sanitizer_platform_limits_posix.h
+       (__sanitizer_dirent): Use 64-bit d_ino/d_off if __x86_64__ is
+       defined.
+       (__sanitizer___kernel_uid_t): Typedef as unsigned if __x86_64__
+       is defined.
+       (__sanitizer___kernel_gid_t): Likewise.
+       (__sanitizer___kernel_off_t): Typedef as long long if __x86_64__
+       is defined.
+
 2013-11-05  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR sanitizer/59018
index fbea5962c81db0daa3893e9f681fb3361bb8ea19..98702436c4f99566266cbe9e5d06e6aa4a28d561 100644 (file)
@@ -31,7 +31,7 @@ namespace __sanitizer {
   unsigned struct_io_event_sz = sizeof(struct io_event);
   unsigned struct_iocb_sz = sizeof(struct iocb);
 
-#ifndef _LP64
+#if !defined(_LP64) && !defined(__x86_64__)
   unsigned struct_kernel_stat64_sz = sizeof(struct stat64);
 #else
   unsigned struct_kernel_stat64_sz = 0;
index 007b4ec7b96dd15d76ba12a8fc3811a2b39d0910..67c459caabb3091c6293ab44cc103e98d5d6736c 100644 (file)
@@ -133,7 +133,7 @@ namespace __sanitizer {
     unsigned short d_reclen;
     // more fields that we don't care about
   };
-#elif SANITIZER_ANDROID
+#elif SANITIZER_ANDROID || defined(__x86_64__)
   struct __sanitizer_dirent {
     unsigned long long d_ino;
     unsigned long long d_off;
@@ -159,16 +159,17 @@ namespace __sanitizer {
 #endif
 
 #if SANITIZER_LINUX
-#ifdef _LP64
+#if defined(_LP64) || defined(__x86_64__)
   typedef unsigned __sanitizer___kernel_uid_t;
   typedef unsigned __sanitizer___kernel_gid_t;
+  typedef long long __sanitizer___kernel_off_t;
 #else
   typedef unsigned short __sanitizer___kernel_uid_t;
   typedef unsigned short __sanitizer___kernel_gid_t;
+  typedef long __sanitizer___kernel_off_t;
 #endif
   typedef unsigned short __sanitizer___kernel_old_uid_t;
   typedef unsigned short __sanitizer___kernel_old_gid_t;
-  typedef long __sanitizer___kernel_off_t;
   typedef long long __sanitizer___kernel_loff_t;
   typedef struct {
     unsigned long fds_bits[1024 / (8 * sizeof(long))];