Hi Christophe, Are you talking about ARM Linux? It will be easier for us (asan developers) to fix this upstream first. Could you please file a bug at https://code.google.com/p/address-sanitizer/ ?
On Wed, Feb 13, 2013 at 8:42 PM, Christophe Lyon <christophe.l...@linaro.org> wrote: > 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 << where is this crazy mapping come from? --kcc > 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.