libsanitizer merge from upstream r196489

H.J. Lu hjl.tools@gmail.com
Thu Dec 5 12:47:00 GMT 2013


On Thu, Dec 5, 2013 at 3:18 AM, Konstantin Serebryany
<konstantin.s.serebryany@gmail.com> wrote:
> On Thu, Dec 5, 2013 at 3:06 PM, Дмитрий Дьяченко <dimhen@gmail.com> wrote:
>> clang' build is broken for me the same way
>
> Should be fixed now (only configure/make build was affected and I
> tested the cmake build before committing)
>
>>
>> Dmitry
>>
>> 2013/12/5 Tobias Burnus <tobias.burnus@physik.fu-berlin.de>:
>>> Hi,
>>>
>>> On Thu, Dec 05, 2013 at 02:06:52PM +0400, Konstantin Serebryany wrote:
>>>> Another libsanitizer merge from upstream, r196489
>>>> (Quick follow up after the r196090 merge)
>>>
>>> That commit breaks the build with:
>>>
>>> In file included from ../../../../libsanitizer/tsan/tsan_rtl_report.cc:18:0:
>>> ../../../../libsanitizer/tsan/tsan_rtl.h:29:44: fatal error: sanitizer_common/sanitizer_asm.h: No such file or directory
>>>  #include "sanitizer_common/sanitizer_asm.h"
>>>                                             ^
>>> compilation terminated.
>>>
>>> Did you forgot to commit the new file?
>
> Looks like so, sorry. fixed by Jakub (
> http://gcc.gnu.org/viewcvs?rev=205701&root=gcc&view=rev)
>

There are at least 2 fallouts:

1. -mx32 is broken.
2.  libsanitizer now depends on libm:

sanitizer_common/sanitizer_common_interceptors.inc:extern int signgam;
sanitizer_common/sanitizer_common_interceptors.inc:
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, &signgam, sizeof(signgam));
sanitizer_common/sanitizer_common_interceptors.inc:
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, &signgam, sizeof(signgam));
sanitizer_common/sanitizer_common_interceptors.inc:
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, &signgam, sizeof(signgam));

But -lm is added for -fsanitizer=address and I got

configure:3158:
/export/build/gnu/gcc-asan/build-x86_64-linux/./prev-gcc/xgcc
-B/export/build/gnu/gcc-asan/build-x86_64-linux/./prev-gcc/
-B/usr/local/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x86_64-unknown-linux-gnu/sys-include    -o conftest -O2 -g
-fsanitize=address  -static-libstdc++ -static-libgcc
-fsanitize=address -static-libasan
-B/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libsanitizer/
-B/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libsanitizer/asan/
-B/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libsanitizer/asan/.libs
 conftest.c  >&5
/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libsanitizer/asan/.libs/libasan.a(asan_interceptors.o):
In function `__interceptor_lgamma':
/export/gnu/import/git/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:2762:
undefined reference to `signgam'
/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libsanitizer/asan/.libs/libasan.a(asan_interceptors.o):
In function `__interceptor_lgammaf':



-- 
H.J.



More information about the Gcc-patches mailing list