Bug#869090: gcc-6: Address sanitizer: Shadow memory range interleaves
Package: gcc-6
Version: 6.4.0-1
Severity: important
Dear Maintainer,
building autotools packages with address sanitizer currently breaks with gcc-6 and gcc-7.
gcc-5 is not effected.
This breaks quality checking and fuzzing with ASAN enabled.
Using LD_PRELOAD to load libasan first doesn't change anything.
This doesn't help either (in case this is a ASLR problem with the kernel):
echo 0 >/proc/sys/kernel/randomize_va_space
$ CC=gcc-6 CFLAGS="-g -fsanitize=address -fno-omit-frame-pointer" ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc-6
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/usr/oms/src/libpsl':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
>From config.log:
configure:3459: gcc-6 -o conftest -g -fsanitize=address -fno-omit-frame-pointer conftest.c >&5
configure:3463: $? = 0
configure:3470: ./conftest
==13782==Shadow memory range interleaves with an existing memory mapping. ASan cannot proceed correctly. ABORTING.
==13782==ASan shadow was supposed to be located in the [0x00007fff7000-0x10007fff7fff] range.
==13782==Process memory map follows:
0x005450338000-0x005450339000 /usr/oms/src/libpsl/conftest
0x005450539000-0x00545053a000 /usr/oms/src/libpsl/conftest
...
0x7fff70943000-0x7fff70964000 [stack]
0x7fff709a4000-0x7fff709a6000 [vvar]
0x7fff709a6000-0x7fff709a8000 [vdso]
==13782==End of process memory map.
configure:3474: $? = 1
configure:3481: error: in `/usr/oms/src/libpsl':
configure:3483: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
Regards, Tim
-- System Information:
Debian Release: buster/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.11.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages gcc-6 depends on:
ii binutils 2.28-6
ii cpp-6 6.4.0-1
ii gcc-6-base 6.4.0-1
ii libc6 2.24-12
ii libcc1-0 7.1.0-9
ii libgcc-6-dev 6.4.0-1
ii libgcc1 1:7.1.0-9
ii libgmp10 2:6.1.2+dfsg-1
ii libisl15 0.18-1
ii libmpc3 1.0.3-1+b2
ii libmpfr4 3.1.5-1
ii libstdc++6 7.1.0-9
ii zlib1g 1:1.2.8.dfsg-5
Versions of packages gcc-6 recommends:
ii libc6-dev 2.24-12
Versions of packages gcc-6 suggests:
ii gcc-6-doc 6.3.0-1
pn gcc-6-locales <none>
pn gcc-6-multilib <none>
pn libasan3-dbg <none>
pn libatomic1-dbg <none>
pn libcilkrts5-dbg <none>
pn libgcc1-dbg <none>
pn libgomp1-dbg <none>
pn libitm1-dbg <none>
pn liblsan0-dbg <none>
pn libmpx2-dbg <none>
pn libquadmath0-dbg <none>
pn libtsan0-dbg <none>
pn libubsan0-dbg <none>
-- no debconf information
Reply to: