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.

Reply via email to