[PATCH] D112810: [sanitizer_common] Fix Posix/mmap_write_exec.cpp on 32-bit Solaris

Rainer Orth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 29 05:18:21 PDT 2021


ro created this revision.
ro added reviewers: devnexen, vitalybuka.
ro added a project: Sanitizers.
Herald added subscribers: pengfei, fedor.sergeev.
ro requested review of this revision.
Herald added a subscriber: Sanitizers.

The new `Posix/mmap_write_exec.cpp` test FAILs on 32-bit Solaris/x86.  This happens
because only `mmap` is intercepted, but not `mmap64` which is used for largefile support.

Fixed by also intercepting `mmap64`.

Tested on `amd64-pc-solaris2.11`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D112810

Files:
  compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h


Index: compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
===================================================================
--- compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
+++ compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
@@ -480,7 +480,7 @@
   (SI_LINUX_NOT_ANDROID || SI_MAC || SI_FREEBSD || SI_NETBSD)
 
 #define SANITIZER_INTERCEPT_MMAP SI_POSIX
-#define SANITIZER_INTERCEPT_MMAP64 SI_LINUX_NOT_ANDROID
+#define SANITIZER_INTERCEPT_MMAP64 SI_LINUX_NOT_ANDROID || SI_SOLARIS
 #define SANITIZER_INTERCEPT_MALLOPT_AND_MALLINFO (SI_GLIBC || SI_ANDROID)
 #define SANITIZER_INTERCEPT_MEMALIGN (!SI_FREEBSD && !SI_MAC && !SI_NETBSD)
 #define SANITIZER_INTERCEPT___LIBC_MEMALIGN SI_GLIBC


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D112810.383321.patch
Type: text/x-patch
Size: 746 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211029/e9e07fc4/attachment.bin>


More information about the llvm-commits mailing list