Hi,
I am working on enabing libsanitizer on ARM.
I have a very simple patch to enable it, and a sample program seems to
work on board.
However, I would like to use qemu as an execution engine, but I get
error messages from libsanitizer at startup:==30022== Shadow memory
range interleaves with an existing memory mapping. ASan cannot proceed
correctly. ABORTING.
** shadow start 0x1ffff000 shadow_end 0x3fffffff
==30022== Process memory map follows:
0x00000000-0x00008000
0x00008000-0x00009000 /home/lyon/src/tests/sanitizer.armhf
0x00009000-0x00010000
0x00010000-0x00011000 /home/lyon/src/tests/sanitizer.armhf
0x00011000-0xf4f50000
0xf4f50000-0xf4f52000
0xf4f52000-0xf4f54000
0xf4f54000-0xf4f58000
0xf4f58000-0xf4f5c000
[many others follow, belonging to libgcc_s.so, libm.so, libstdc++.so,
libdl,so, libpthread.so, libc.so and libasan.so, and some with no
filename]
So I have a probably very naive question: can libsanitizer work under
qemu (linux-user mode)?
What should I change?
[I have already modified qemu's output of /proc/self/maps to add a
space character after the last number if there is no filename, to
avoid parsing errors from libsanitizer].
Thanks,
Christophe.