[asan] Clean up some confusing code in
authorDan Liew <dan@su-root.co.uk>
Mon, 3 Sep 2018 10:33:32 +0000 (10:33 +0000)
committerDan Liew <dan@su-root.co.uk>
Mon, 3 Sep 2018 10:33:32 +0000 (10:33 +0000)
`test/asan/TestCases/Darwin/segv_read_write.c`

* The `fd` arg passed to `mmap()` should be `-1`. It is not defined
what passing `0` does on Darwin.

* The comment about the shadow memory doesn't make any sense to me,
so I'm removing it.

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

llvm-svn: 341307

compiler-rt/test/asan/TestCases/Darwin/segv_read_write.c

index d8e2d21..127365d 100644 (file)
@@ -9,11 +9,8 @@ static volatile int sink;
 __attribute__((noinline)) void Read(int *ptr) { sink = *ptr; }
 __attribute__((noinline)) void Write(int *ptr) { *ptr = 0; }
 int main(int argc, char **argv) {
-  // Writes to shadow are detected as reads from shadow gap (because of how the
-  // shadow mapping works). This is kinda hard to fix. Test a random address in
-  // the application part of the address space.
   void *volatile p =
-      mmap(nullptr, 4096, PROT_READ, MAP_PRIVATE | MAP_ANON, 0, 0);
+      mmap(nullptr, 4096, PROT_READ, MAP_PRIVATE | MAP_ANON, -1, 0);
   munmap(p, 4096);
   if (argc == 1)
     Read((int *)p);