Paolo Bonzini <pbonz...@redhat.com> writes: > On 28/01/2016 11:15, Alex Bennée wrote: >> diff --git a/configure b/configure >> index bd29ba7..148b79a 100755 >> --- a/configure >> +++ b/configure >> @@ -5871,7 +5871,7 @@ if test "$target_linux_user" = "yes" -o >> "$target_bsd_user" = "yes" ; then >> ldflags="$ldflags $textseg_ldflags" >> fi >> >> -echo "LDFLAGS+=$ldflags" >> $config_target_mak >> +echo "LDFLAGS+=$ldflags" >> $config_host_mak >> echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak >> >> done # for target in $targets > > Hmm wait, it's not okay. > > This adds the *target* LDFLAGS to config-host.mak, and adds them a > zillion times. extra-ldflags is already added to LDFLAGS in > config-host.mak: > > --extra-ldflags=*) LDFLAGS="$LDFLAGS $optarg" > EXTRA_LDFLAGS="$optarg" > ;; > > ... > > echo "LDFLAGS=$LDFLAGS" >> $config_host_mak > > So I'm totally confused as to what this patch is trying to achieve...
It seems so was I. So I was having problems with ancillary binaries failing to link against tsan but as you point out this should work with "-fsantiize=thread" in the ldflags which are already available to config_host.mak On my Gentoo (GCC 4.9) system without this I can build with: ./configure ${TARGETS} --extra-cflags="-fsanitize=thread -fPIE" \ --extra-ldflags="-pie -fsanitize=thread" --with-coroutine=gthread Although I get make check failures: GTESTER tests/check-qdict FATAL: ThreadSanitizer can not mmap the shadow memory (something is mapped at 0x555555554000 < 0x7cf000000000) FATAL: Make sure to compile with -fPIE and to link with -pie. /home/alex/lsrc/qemu/qemu.git/tests/Makefile:629: recipe for target 'check-tests/check-qdict' failed make: *** [check-tests/check-qdict] Error 1 But I suspect this is possibly an ASLR issue. I think this patch can be dropped altogether. With the other patches can you build with tsan the proper way? What are you running? I'll add it to the VMs I have to double check. -- Alex Bennée