summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_stacktrace.h
diff options
context:
space:
mode:
authorRainer Orth <ro@gcc.gnu.org>2018-11-05 19:19:15 +0000
committerRainer Orth <ro@gcc.gnu.org>2018-11-05 19:19:15 +0000
commit20da481a84b8cac4f69335b303354d8c97fd5759 (patch)
treee92491f83e97115a927fcd410f52c0e2f6d42795 /lib/sanitizer_common/sanitizer_stacktrace.h
parent90260b5c860db6c69f0251c15fc4f404da8f9f23 (diff)
downloadcompiler-rt-20da481a84b8cac4f69335b303354d8c97fd5759.tar.gz
[Sanitizers] Solaris largefile fixes
While testing the Solaris libsanitizer port on GCC mainline, I found that I'd messed up the largefile checks in various ways, some of which showed as compile failures (wrong structure sizes and member offsets), others at runtime, some of those only on sparc as a big-endian target. This patch fixes all of them: - OFF_T is now correctly defined for 32-bit largefile and traditional environments, and 64-bit. - The definition of __sanitizer_dirent now checks the correct conditionals. - sanitizer_procmaps_solaris.cc undefines _FILE_OFFSET_BITS: before Solaris 11.4 <procfs.h> doesn't even compile with largefile support enabled, but the use at hand doesn't need it anyway while g++ 9 will define _FILE_OFFSET_BITS=64 out of the box. - With full largefile support enabled, one needs to use e.g. mmap64 instead of mmap; this is hidden behind macros. With this patch I could bootstrap gcc mainline on both sparc-sun-solaris2.11 and i386-pc-solaris2.11. In addition, I've successfully built llvm on i386-pc-solaris2.11. Differential Revision: https://reviews.llvm.org/D54101 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@346153 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_stacktrace.h')
0 files changed, 0 insertions, 0 deletions