From e08835fd3a4a6559b79c26db9b18df0e838d943e Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 6 Jan 2023 18:28:22 +0800 Subject: [PATCH] libsanitizer/mips: always build with largefile support -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 is always used for mips when build libsanitizer in LLVM. Thus FIRST_32_SECOND_64((_MIPS_SIM == _ABIN32) ? 176 : 160, 216); instead of FIRST_32_SECOND_64((_MIPS_SIM == _ABIN32) ? 160 : 144, 216); in sanitizer_platform_limits_posix.h. To keep sync with LLVM and to make the code simple, we use the largefile options always. libsanitizer/ * configure.ac: set -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 always for mips*. * configure: Regenerate. --- libsanitizer/configure | 13 ++++++++++--- libsanitizer/configure.ac | 12 ++++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/libsanitizer/configure b/libsanitizer/configure index d3de3db..d4ee0fa 100755 --- a/libsanitizer/configure +++ b/libsanitizer/configure @@ -17045,9 +17045,16 @@ else $as_echo "no" >&6; } fi -EXTRA_CFLAGS="$EXTRA_CFLAGS $CET_FLAGS" -EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS $CET_FLAGS" -EXTRA_ASFLAGS=$CET_FLAGS +# Always set -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 to sync with LLVM, +# and keep struct *stat* have the same size. +case "${host}" in + mips*-*) FILE64_FLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" ;; + *) FILE64_FLAGS="" ;; +esac + +EXTRA_CFLAGS="$EXTRA_CFLAGS $CET_FLAGS $FILE64_FLAGS" +EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS $CET_FLAGS $FILE64_FLAGS" +EXTRA_ASFLAGS="$CET_FLAGS $FILE64_FLAGS" diff --git a/libsanitizer/configure.ac b/libsanitizer/configure.ac index ad49f29..04cd891 100644 --- a/libsanitizer/configure.ac +++ b/libsanitizer/configure.ac @@ -416,8 +416,16 @@ GCC_BASE_VER # Add CET specific flags if Intel CET is enabled. GCC_CET_FLAGS(CET_FLAGS) -EXTRA_CFLAGS="$EXTRA_CFLAGS $CET_FLAGS" -EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS $CET_FLAGS" + +# Always set -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 to sync with LLVM, +# and keep struct *stat* have the same size. +case "${host}" in + mips*-*) FILE64_FLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" ;; + *) FILE64_FLAGS="" ;; +esac + +EXTRA_CFLAGS="$EXTRA_CFLAGS $CET_FLAGS $FILE64_FLAGS" +EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS $CET_FLAGS $FILE64_FLAGS" EXTRA_ASFLAGS=$CET_FLAGS AC_SUBST(EXTRA_ASFLAGS) AC_SUBST(EXTRA_CFLAGS) -- 2.7.4