Open
Description
Disabling ASLR should not be a requirement for using msan on FreeBSD.
Right now it fails with
This sanitizer is not compatible with enabled ASLR and binaries compiled with PIE
The check was added in e2ed800.
If I downgrade the error to a warning locally I see:
$ ./a.out
This sanitizer is not compatible with enabled ASLR and binaries compiled with PIE
Running anyway
FATAL: Code 0x3dd1ab38d9b0 is out of application range. Non-PIE build?
FATAL: MemorySanitizer can not mmap the shadow memory.
FATAL: Make sure to compile with -fPIE and to link with -pie.
FATAL: Disabling ASLR is known to cause this error.
FATAL: If running under GDB, try 'set disable-randomization off'.
==81625==Process memory map follows:
0x3dd1ab35b000-0x3dd1ab38c000 /usr/home/emaste/src/samples/llvm/msan/a.out
0x3dd1ab38c000-0x3dd1ab3eb000 /usr/home/emaste/src/samples/llvm/msan/a.out
0x3dd1ab3eb000-0x3dd1ab3ec000 /usr/home/emaste/src/samples/llvm/msan/a.out
0x3dd1ab3ec000-0x3dd1ab3ef000 /usr/home/emaste/src/samples/llvm/msan/a.out
...
The "Code" address 0x3dd1ab38d9b0 is within the second address range 0x3dd1ab38c000-0x3dd1ab3eb000 for a.out.