This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: libsanitizer and qemu compatibility
- From: Konstantin Serebryany <konstantin dot s dot serebryany at gmail dot com>
- To: Christophe Lyon <christophe dot lyon at linaro dot org>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 14 Feb 2013 08:24:56 +0400
- Subject: Re: libsanitizer and qemu compatibility
- References: <CAKdteOao=eLDV+8VxQnzk6pq55KBRhE3ms1GSkHmZ2QqvujnmQ@mail.gmail.com>
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.lyon@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.