This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug sanitizer/78267] [7 Regression] libsanitizer breaks bootstrap on x86_64-apple-darwin16 at r241977
- From: "howarth.at.gcc at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 15 Nov 2016 10:27:00 +0000
- Subject: [Bug sanitizer/78267] [7 Regression] libsanitizer breaks bootstrap on x86_64-apple-darwin16 at r241977
- Auto-submitted: auto-generated
- References: <bug-78267-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78267
--- Comment #41 from Jack Howarth <howarth.at.gcc at gmail dot com> ---
(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().