Bug#786850: gcc-4.9: AddressSanitizer fails with pthread_cond_init
Package: gcc-4.9
Version: 4.9.2-16
Severity: normal
Dear Maintainer,
Trivial C program:
#include <stdio.h>
#include <pthread.h>
int main (void)
{ pthread_cond_t cond;
pthread_cond_init(&cond, NULL);
return 0;
}
Above works correctly when compiled and run (even under Valgrind) as:
gcc -Wall cond_init.c -o cond_init && valgrind ./cond_init
on both x86_64/linux and armhf/linux.
However, then compiled with -fsanitize=address as:
gcc -Wall -fsanitize=address cond_init.c -o cond_init && ./cond_init
it works correctly on x86_64/linux but gets a SIGSEGV on armhf/linux:
ASAN:SIGSEGV
=================================================================
==23193==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000 (pc 0x00000000
sp 0xbeffefb0 bp 0x00000000 T0)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ??:0 ??
==23193==ABORTING
Apparently this was a problem in gcc-4.8
https://code.google.com/p/address-sanitizer/issues/detail?id=297
but I'm using the Debian gcc-4.9 package.
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (900, 'testing'), (800, 'unstable'), (1, 'experimental')
Architecture: armhf (armv7l)
Kernel: Linux 3.10.72+ (SMP w/8 CPU cores; PREEMPT)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_AU.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages gcc-4.9 depends on:
ii binutils 2.25-7
ii cpp-4.9 4.9.2-16
ii gcc-4.9-base 4.9.2-16
ii libc6 2.19-18
ii libcloog-isl4 0.18.3-1
ii libgcc-4.9-dev 4.9.2-16
ii libgmp10 2:6.0.0+dfsg-6
ii libisl13 0.14-2
ii libmpc3 1.0.3-1
ii libmpfr4 3.1.2-3
ii zlib1g 1:1.2.8.dfsg-2+b1
Versions of packages gcc-4.9 recommends:
ii libc6-dev 2.19-18
Versions of packages gcc-4.9 suggests:
pn gcc-4.9-doc <none>
pn gcc-4.9-locales <none>
pn libasan1-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 libquadmath-dbg <none>
pn libtsan0-dbg <none>
pn libubsan0-dbg <none>
-- no debconf information
Reply to: