[compiler-rt] 1cd4d63 - [sanitizer_common] Restore sanitizer_procmaps_solaris.cpp compilation on Solaris 11.3

Rainer Orth via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 23 06:50:30 PDT 2022


Author: Rainer Orth
Date: 2022-09-23T15:50:00+02:00
New Revision: 1cd4d63fb9ab0f04c7151911dde0d58b673823de

URL: https://github.com/llvm/llvm-project/commit/1cd4d63fb9ab0f04c7151911dde0d58b673823de
DIFF: https://github.com/llvm/llvm-project/commit/1cd4d63fb9ab0f04c7151911dde0d58b673823de.diff

LOG: [sanitizer_common] Restore sanitizer_procmaps_solaris.cpp compilation on Solaris 11.3

When upstream `compiler-rt` was recently imported into GCC's
`libsanitizer`, Solaris 11.3 bootstrap broke because in 11.3
`<sys/procfs.h>` doesn't mix with largefile compilation.  I'd caused this
in D129837 <https://reviews.llvm.org/D129837> where I forgot that the code
still needs to support Solaris 11.3.

Fixed by restoring the `#undef _FILE_OFFSET_BITS`.

Tested on `sparc-sun-solaris2.11` and `amd64-pc-solaris2.11` (Solaris 11.4)
in LLVM and both Solaris 11.3 and 11.4 in GCC.

Differential Revision: https://reviews.llvm.org/D133556

Added: 
    

Modified: 
    compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp
index 6f43817aedb15..eeb49e2afe34d 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp
@@ -9,6 +9,8 @@
 // Information about the process mappings (Solaris-specific parts).
 //===----------------------------------------------------------------------===//
 
+// Before Solaris 11.4, <procfs.h> doesn't work in a largefile environment.
+#undef _FILE_OFFSET_BITS
 #include "sanitizer_platform.h"
 #if SANITIZER_SOLARIS
 #  include <fcntl.h>


        


More information about the llvm-commits mailing list