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.