From: Peter Collingbourne Date: Tue, 18 Aug 2020 20:06:41 +0000 (-0700) Subject: sanitizer_common: Use void* for madvise first argument on Solaris. X-Git-Tag: llvmorg-13-init~14261 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a208ad5ddb5bbcf773dae82d37755dc109dab483;p=platform%2Fupstream%2Fllvm.git sanitizer_common: Use void* for madvise first argument on Solaris. Differential Revision: https://reviews.llvm.org/D86166 --- diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp index cce179a..7f9a3e9 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp +++ b/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp @@ -76,10 +76,16 @@ DECLARE__REAL_AND_INTERNAL(int, mprotect, void *addr, uptr length, int prot) { // Illumos' declaration of madvise cannot be made visible if _XOPEN_SOURCE // is defined as g++ does on Solaris. -extern "C" int madvise(caddr_t, size_t, int); +// +// This declaration is consistent with Solaris 11.4. Both Illumos and Solaris +// versions older than 11.4 declared madvise with a caddr_t as the first +// argument, but we don't currently support Solaris versions older than 11.4, +// and as mentioned above the declaration is not visible on Illumos so we can +// use any declaration we like on Illumos. +extern "C" int madvise(void *, size_t, int); int internal_madvise(uptr addr, uptr length, int advice) { - return madvise((caddr_t)addr, length, advice); + return madvise((void *)addr, length, advice); } DECLARE__REAL_AND_INTERNAL(uptr, close, fd_t fd) {