Author: Rainer Orth Date: 2024-08-04T11:21:57+02:00 New Revision: 7fc0bae294aa174ca5c1f85bb2955ededdfd6eb5
URL: https://github.com/llvm/llvm-project/commit/7fc0bae294aa174ca5c1f85bb2955ededdfd6eb5 DIFF: https://github.com/llvm/llvm-project/commit/7fc0bae294aa174ca5c1f85bb2955ededdfd6eb5.diff LOG: [sanitizer_common][test] Fix InternalMmapWithOffset on 32-bit Linux/s… (#101011) …parc64 ``` SanitizerCommon-Unit :: ./Sanitizer-sparc-Test/SanitizerCommon/InternalMmapWithOffset ``` `FAIL`s on 32-bit Linux/sparc64: ``` projects/compiler-rt/lib/sanitizer_common/tests/./Sanitizer-sparc-Test --gtest_filter=SanitizerCommon.InternalMmapWithOffset -- compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp:335: Failure Expected equality of these values: 'A' Which is: 'A' (65, 0x41) p[0] Which is: '\0' ``` It turns out the `pgoffset` arg to `mmap2` is passed incorrectly in this case, unlike the 64-bit test. The caller, `MapWritableFileToMemory`, passes an `u64` arg, while `mmap2` expects an `off_t`. This patch casts the arg accordingly. Tested on `sparc64-unknown-linux-gnu` and `x86_64-pc-linux-gnu`. (cherry picked from commit 1c25f2cd470c2882e422b66d0482f5a120960394) Added: Modified: compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp Removed: ################################################################################ diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp index 76acf591871ab..1d6a55bdb7f38 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp +++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp @@ -220,7 +220,7 @@ uptr internal_mmap(void *addr, uptr length, int prot, int flags, int fd, // mmap2 specifies file offset in 4096-byte units. CHECK(IsAligned(offset, 4096)); return internal_syscall(SYSCALL(mmap2), addr, length, prot, flags, fd, - offset / 4096); + (OFF_T)(offset / 4096)); # endif } # endif // !SANITIZER_S390 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits