[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 2/5] configure: ensure ldflags propagated to
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v1 2/5] configure: ensure ldflags propagated to config_host |
Date: |
Fri, 29 Jan 2016 15:26:45 +0000 |
User-agent: |
mu4e 0.9.17; emacs 25.0.50.8 |
Paolo Bonzini <address@hidden> 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
- [Qemu-devel] [PATCH v1 0/5] ThreadSanitizer support, Alex Bennée, 2016/01/28
- [Qemu-devel] [PATCH v1 1/5] configure: introduce --extra-libs, Alex Bennée, 2016/01/28
- [Qemu-devel] [PATCH v1 2/5] configure: ensure ldflags propagated to config_host, Alex Bennée, 2016/01/28
- [Qemu-devel] [PATCH v1 4/5] async.c: various atomic fixes for tsan, Alex Bennée, 2016/01/28
- [Qemu-devel] [PATCH v1 5/5] thread-pool: atomic fixes from tsan, Alex Bennée, 2016/01/28
- [Qemu-devel] [PATCH v1 3/5] include/qemu/atomic.h: default to __atomic functions, Alex Bennée, 2016/01/28