Il 19/11/2012 05:35, H.J. Lu ha scritto: > On Sun, Nov 18, 2012 at 7:28 AM, Paolo Bonzini <bonz...@gnu.org> wrote: >> Il 18/11/2012 00:54, H.J. Lu ha scritto: >>> +@if gcc-bootstrap >>> +ifneq ($(filter bootstrap-asan,$(BUILD_CONFIG)),) >>> +LIBASAN_LIBS=-B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/asan/.libs >>> +endif >>> +@endif gcc-bootstrap >> >> Do you need this to be here? POSTSTAGE1_*_EXPORT is only used when >> bootstrapping, and they are defined with "=" so the definition could be >> placed (or so it seems at first look) in bootstrap-asan.mk. >> > > It turns out to be quite tricky: > > 1. We can't use -faddress-sanitizer in libcpp due to > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55380
Does -faddress-sanitizer add a CPP symbol that lets you work around it? If not, it's a bug. If so, please make libcpp revert to the dump algorithm if said symbol is defined. > 2. We can't use -faddress-sanitizer in libiberty since > it will make all host binaries depend on libasan. > 3. We can't use -faddress-sanitizer in lto-plugin > since it will make linker depends on libasan. These are features, not bugs. You asked for that explicitly. In fact, I think that using bootstrap-asan in a combined tree should make all host binaries use asan. > So basically we can only use -faddress-sanitizer in > the gcc directory, which isn't easy to do. No, there's no need for that. > Also I have to mark libsanitizer as bootstrap otherwise > multilib libsanitizer will get -funconfigured-libstcd++-v3. Yes, that part's okay. Paolo