As mentioned in <http://gcc.gnu.org/ml/gcc/2018-03/msg00133.html> the bogus adjustmen...
authorHans-Peter Nilsson <hp@axis.com>
Thu, 26 Apr 2018 01:12:56 +0000 (01:12 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Thu, 26 Apr 2018 01:12:56 +0000 (01:12 +0000)
commit9f943b2446f2d0a345bbf9b4be3d3a4316372270
tree51e67cae8c7ea5aa4bb2435b34353fef35aa1bde
parentbc40f16691a29b2934a3410cc3dc867584d52acf
As mentioned in <gcc.gnu.org/ml/gcc/2018-03/msg00133.html> the bogus adjustment to 160 from 144 (which is reverted here)...

As mentioned in <http://gcc.gnu.org/ml/gcc/2018-03/msg00133.html>
the bogus adjustment to 160 from 144 (which is reverted here),
is a single-token commit in upstream r301307, an attempt to
correct a failed build due to an upstream change to compile the
runtime with D_FILE_OFFSET_BITS=64.  The correct fix is here:
just use the right include.  Yes, user-struct-stat64-as-stat is
actually 160 for MIPS o32 and I hear user-struct-stat is also
160 for n32.  There are additional fields appended for
user-struct-stat!  I guess for MIPS it's as bad as it gets for
mixing up kernel and user struct stat.  The context of the patch
doesn't show that in the #else there's the correct include, the
one for <asm/stat.h> to get the kernel-struct-stat.  If you
can't compile it, IMHO the kernel headers are just too old; 3.2
is fine for example.

* sanitizer_common/sanitizer_platform_limits_linux.cc: Do not
take the shortcut to #include <sys/stat.h> for MIPS instead of
the kernel <asm/stat.h>.  Explain why sys/stat.h is misleading
or wrong to get the kernel struct stat.
* sanitizer_common/sanitizer_platform_limits_posix.h [__mips__]:
Correct the value for 32-bit non-android struct_kernel_stat_sz.

From-SVN: r259664
libsanitizer/ChangeLog
libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc
libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h