[Bug sanitizer/78267] [7 Regression] libsanitizer breaks bootstrap on x86_64-apple-darwin16 at r241977
m.ostapenko at samsung dot com
gcc-bugzilla@gcc.gnu.org
Tue Nov 15 10:53:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78267
--- Comment #44 from Maxim Ostapenko <m.ostapenko at samsung dot com> ---
(In reply to Jack Howarth from comment #41)
> (In reply to ro@CeBiTec.Uni-Bielefeld.DE from comment #39)
> > > --- Comment #36 from Jack Howarth <howarth.at.gcc at gmail dot com> ---
> > > Created attachment 40044 [details]
> > > --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40044&action=edit
> > > fixincludes trace.h generated in stage 1
> > >
> > > fixincludes trace.h generated in stage 1 on darwin15 using
> > > https://gcc.gnu.org/ml/gcc-patches/2016-11/msg01045.html
> >
> > So the fix has worked as expected/designed. Good to have the confirmation.
> >
> > Rainer
>
> I see the problem now. Your proposed fix from
> https://gcc.gnu.org/ml/gcc-patches/2016-11/msg01045.html simply is simply
> insufficient in the absence of the change proposed in Comment 33...
>
> 2016-11-14 Jack Howarth <howarth.at.gcc@gmail.com>
>
> libsanitizer/
>
> PR sanitizer/78267
> * sanitizer_common/sanitizer_mac.cc: Include <os/trace.h> only if
> compiler supports blocks extension.
>
>
> Index: libsanitizer/sanitizer_common/sanitizer_mac.cc
> ===================================================================
> --- libsanitizer/sanitizer_common/sanitizer_mac.cc (revision 242387)
> +++ libsanitizer/sanitizer_common/sanitizer_mac.cc (working copy)
> @@ -34,7 +34,7 @@
> extern char **environ;
> #endif
>
> -#if defined(__has_include) && __has_include(<os/trace.h>)
> +#if defined(__has_include) && __has_include(<os/trace.h>) &&
> defined(__BLOCKS__)
> #define SANITIZER_OS_TRACE 1
> #include <os/trace.h>
> #else
>
> Otherwise the definition of SANITIZER_OS_TRACE results in
> libsanitizer/sanitizer_common/sanitizer_mac.cc making calls to os_trace().
This is probably insufficient, we would have errors with /usr/include/asl.h
(see comment #10 for error messages) on darwin16. Shouldn't we ifdef out asl
stuff too in this case?
More information about the Gcc-bugs
mailing list