public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
@ 2021-10-30 20:53 H.J. Lu
  2021-11-02  9:14 ` Richard Biener
  0 siblings, 1 reply; 11+ messages in thread
From: H.J. Lu @ 2021-10-30 20:53 UTC (permalink / raw)
  To: gcc-patches; +Cc: Jakub Jelinek

sanitizer_platform_limits_freebsd.cpp must include <md5.h> from the OS,
not include/md5.h in GCC source tree which is included by libbacktrace
support.  Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
to avoid include/md5.h to restore bootstrap on FreeBSD.

	PR bootstrap/102675
	* sanitizer_common/Makefile.am (AM_CXXFLAGS): Extract libbacktrace
	CXXFLAGS to ...
	(LIBBACKTRACE_CXXFLAGS): Here.  New.
	(sanitizer_common_files): Move sanitizer_platform_limits_freebsd.cpp
	to ...
	(sanitizer_common_files_no_libbacktrace): Here.  New.
	(AM_CXXFLAGS): Add $(LIBBACKTRACE_CXXFLAGS) for
	$(sanitizer_common_files).
	(libsanitizer_common_la_SOURCES): Add
	$(sanitizer_common_files_no_libbacktrace).
	* sanitizer_common/Makefile.in: Regenerate.
---
 libsanitizer/sanitizer_common/Makefile.am | 24 +++++++++++-----
 libsanitizer/sanitizer_common/Makefile.in | 35 ++++++++++++++++-------
 2 files changed, 41 insertions(+), 18 deletions(-)

diff --git a/libsanitizer/sanitizer_common/Makefile.am b/libsanitizer/sanitizer_common/Makefile.am
index d04f2d8bd16..0ea459c2b3a 100644
--- a/libsanitizer/sanitizer_common/Makefile.am
+++ b/libsanitizer/sanitizer_common/Makefile.am
@@ -9,11 +9,12 @@ AM_CXXFLAGS += $(LIBSTDCXX_RAW_CXX_CXXFLAGS)
 AM_CXXFLAGS += -std=gnu++14
 AM_CXXFLAGS += $(EXTRA_CXXFLAGS)
 if LIBBACKTRACE_SUPPORTED
-AM_CXXFLAGS += -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
-	       -I $(top_srcdir)/../libbacktrace \
-	       -I $(top_builddir)/libbacktrace \
-	       -I $(top_srcdir)/../include \
-	       -include $(top_srcdir)/libbacktrace/backtrace-rename.h
+LIBBACKTRACE_CXXFLAGS = \
+  -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
+  -I $(top_srcdir)/../libbacktrace \
+  -I $(top_builddir)/libbacktrace \
+  -I $(top_srcdir)/../include \
+  -include $(top_srcdir)/libbacktrace/backtrace-rename.h
 endif
 AM_CCASFLAGS = $(EXTRA_ASFLAGS)
 ACLOCAL_AMFLAGS = -I m4
@@ -45,7 +46,6 @@ sanitizer_common_files = \
 	sanitizer_netbsd.cpp \
 	sanitizer_openbsd.cpp \
 	sanitizer_persistent_allocator.cpp \
-	sanitizer_platform_limits_freebsd.cpp \
 	sanitizer_platform_limits_linux.cpp \
 	sanitizer_platform_limits_openbsd.cpp \
 	sanitizer_platform_limits_posix.cpp \
@@ -81,8 +81,18 @@ sanitizer_common_files = \
 	sanitizer_unwind_win.cpp \
 	sanitizer_win.cpp
 
+# Don't add $(LIBBACKTRACE_CXXFLAGS) for the following files:
+# 1. sanitizer_platform_limits_freebsd.cpp must include <md5.h> from
+#    the OS, not include/md5.h in GCC source tree.
+sanitizer_common_files_no_libbacktrace = \
+	sanitizer_platform_limits_freebsd.cpp
 
-libsanitizer_common_la_SOURCES = $(sanitizer_common_files) 
+$(sanitizer_common_files:.cpp=.lo) \
+  $(sanitizer_common_files:.cpp=.$(OBJEXT)): AM_CXXFLAGS += $(LIBBACKTRACE_CXXFLAGS)
+
+libsanitizer_common_la_SOURCES = \
+  $(sanitizer_common_files) \
+  $(sanitizer_common_files_no_libbacktrace)
 libsanitizer_common_la_LIBADD = $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
 libsanitizer_common_la_DEPENDENCIES =  $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
 
diff --git a/libsanitizer/sanitizer_common/Makefile.in b/libsanitizer/sanitizer_common/Makefile.in
index 2856894d62b..1433db2238b 100644
--- a/libsanitizer/sanitizer_common/Makefile.in
+++ b/libsanitizer/sanitizer_common/Makefile.in
@@ -89,12 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-@LIBBACKTRACE_SUPPORTED_TRUE@am__append_1 = -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
-@LIBBACKTRACE_SUPPORTED_TRUE@	       -I $(top_srcdir)/../libbacktrace \
-@LIBBACKTRACE_SUPPORTED_TRUE@	       -I $(top_builddir)/libbacktrace \
-@LIBBACKTRACE_SUPPORTED_TRUE@	       -I $(top_srcdir)/../include \
-@LIBBACKTRACE_SUPPORTED_TRUE@	       -include $(top_srcdir)/libbacktrace/backtrace-rename.h
-
 subdir = sanitizer_common
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
@@ -131,7 +125,6 @@ am__objects_1 = sancov_flags.lo sanitizer_allocator.lo \
 	sanitizer_mac.lo sanitizer_mac_libcdep.lo sanitizer_mutex.lo \
 	sanitizer_netbsd.lo sanitizer_openbsd.lo \
 	sanitizer_persistent_allocator.lo \
-	sanitizer_platform_limits_freebsd.lo \
 	sanitizer_platform_limits_linux.lo \
 	sanitizer_platform_limits_openbsd.lo \
 	sanitizer_platform_limits_posix.lo \
@@ -153,7 +146,8 @@ am__objects_1 = sancov_flags.lo sanitizer_allocator.lo \
 	sanitizer_thread_registry.lo sanitizer_tls_get_addr.lo \
 	sanitizer_unwind_linux_libcdep.lo sanitizer_unwind_win.lo \
 	sanitizer_win.lo
-am_libsanitizer_common_la_OBJECTS = $(am__objects_1)
+am__objects_2 = sanitizer_platform_limits_freebsd.lo
+am_libsanitizer_common_la_OBJECTS = $(am__objects_1) $(am__objects_2)
 libsanitizer_common_la_OBJECTS = $(am_libsanitizer_common_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -376,7 +370,14 @@ AM_CXXFLAGS = -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic \
 	-Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti \
 	-fomit-frame-pointer -funwind-tables -fvisibility=hidden \
 	-Wno-variadic-macros $(LIBSTDCXX_RAW_CXX_CXXFLAGS) \
-	-std=gnu++14 $(EXTRA_CXXFLAGS) $(am__append_1)
+	-std=gnu++14 $(EXTRA_CXXFLAGS)
+@LIBBACKTRACE_SUPPORTED_TRUE@LIBBACKTRACE_CXXFLAGS = \
+@LIBBACKTRACE_SUPPORTED_TRUE@  -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
+@LIBBACKTRACE_SUPPORTED_TRUE@  -I $(top_srcdir)/../libbacktrace \
+@LIBBACKTRACE_SUPPORTED_TRUE@  -I $(top_builddir)/libbacktrace \
+@LIBBACKTRACE_SUPPORTED_TRUE@  -I $(top_srcdir)/../include \
+@LIBBACKTRACE_SUPPORTED_TRUE@  -include $(top_srcdir)/libbacktrace/backtrace-rename.h
+
 AM_CCASFLAGS = $(EXTRA_ASFLAGS)
 ACLOCAL_AMFLAGS = -I m4
 noinst_LTLIBRARIES = libsanitizer_common.la
@@ -405,7 +406,6 @@ sanitizer_common_files = \
 	sanitizer_netbsd.cpp \
 	sanitizer_openbsd.cpp \
 	sanitizer_persistent_allocator.cpp \
-	sanitizer_platform_limits_freebsd.cpp \
 	sanitizer_platform_limits_linux.cpp \
 	sanitizer_platform_limits_openbsd.cpp \
 	sanitizer_platform_limits_posix.cpp \
@@ -441,7 +441,17 @@ sanitizer_common_files = \
 	sanitizer_unwind_win.cpp \
 	sanitizer_win.cpp
 
-libsanitizer_common_la_SOURCES = $(sanitizer_common_files) 
+
+# Don't add $(LIBBACKTRACE_CXXFLAGS) for the following files:
+# 1. sanitizer_platform_limits_freebsd.cpp must include <md5.h> from
+#    the OS, not include/md5.h in GCC source tree.
+sanitizer_common_files_no_libbacktrace = \
+	sanitizer_platform_limits_freebsd.cpp
+
+libsanitizer_common_la_SOURCES = \
+  $(sanitizer_common_files) \
+  $(sanitizer_common_files_no_libbacktrace)
+
 libsanitizer_common_la_LIBADD = $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
 libsanitizer_common_la_DEPENDENCIES = $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
 
@@ -800,6 +810,9 @@ uninstall-am:
 .PRECIOUS: Makefile
 
 
+$(sanitizer_common_files:.cpp=.lo) \
+  $(sanitizer_common_files:.cpp=.$(OBJEXT)): AM_CXXFLAGS += $(LIBBACKTRACE_CXXFLAGS)
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
-- 
2.33.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
  2021-10-30 20:53 [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp H.J. Lu
@ 2021-11-02  9:14 ` Richard Biener
  2021-11-02 12:02   ` H.J. Lu
  0 siblings, 1 reply; 11+ messages in thread
From: Richard Biener @ 2021-11-02  9:14 UTC (permalink / raw)
  To: H.J. Lu; +Cc: GCC Patches, Jakub Jelinek

On Sat, Oct 30, 2021 at 10:54 PM H.J. Lu via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> sanitizer_platform_limits_freebsd.cpp must include <md5.h> from the OS,
> not include/md5.h in GCC source tree which is included by libbacktrace
> support.  Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
> to avoid include/md5.h to restore bootstrap on FreeBSD.

Err, but that will just get complaints about disabled libbacktrace backtracking
(from within the sanitizer?)?

>         PR bootstrap/102675
>         * sanitizer_common/Makefile.am (AM_CXXFLAGS): Extract libbacktrace
>         CXXFLAGS to ...
>         (LIBBACKTRACE_CXXFLAGS): Here.  New.
>         (sanitizer_common_files): Move sanitizer_platform_limits_freebsd.cpp
>         to ...
>         (sanitizer_common_files_no_libbacktrace): Here.  New.
>         (AM_CXXFLAGS): Add $(LIBBACKTRACE_CXXFLAGS) for
>         $(sanitizer_common_files).
>         (libsanitizer_common_la_SOURCES): Add
>         $(sanitizer_common_files_no_libbacktrace).
>         * sanitizer_common/Makefile.in: Regenerate.
> ---
>  libsanitizer/sanitizer_common/Makefile.am | 24 +++++++++++-----
>  libsanitizer/sanitizer_common/Makefile.in | 35 ++++++++++++++++-------
>  2 files changed, 41 insertions(+), 18 deletions(-)
>
> diff --git a/libsanitizer/sanitizer_common/Makefile.am b/libsanitizer/sanitizer_common/Makefile.am
> index d04f2d8bd16..0ea459c2b3a 100644
> --- a/libsanitizer/sanitizer_common/Makefile.am
> +++ b/libsanitizer/sanitizer_common/Makefile.am
> @@ -9,11 +9,12 @@ AM_CXXFLAGS += $(LIBSTDCXX_RAW_CXX_CXXFLAGS)
>  AM_CXXFLAGS += -std=gnu++14
>  AM_CXXFLAGS += $(EXTRA_CXXFLAGS)
>  if LIBBACKTRACE_SUPPORTED
> -AM_CXXFLAGS += -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
> -              -I $(top_srcdir)/../libbacktrace \
> -              -I $(top_builddir)/libbacktrace \
> -              -I $(top_srcdir)/../include \
> -              -include $(top_srcdir)/libbacktrace/backtrace-rename.h
> +LIBBACKTRACE_CXXFLAGS = \
> +  -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
> +  -I $(top_srcdir)/../libbacktrace \
> +  -I $(top_builddir)/libbacktrace \
> +  -I $(top_srcdir)/../include \
> +  -include $(top_srcdir)/libbacktrace/backtrace-rename.h
>  endif
>  AM_CCASFLAGS = $(EXTRA_ASFLAGS)
>  ACLOCAL_AMFLAGS = -I m4
> @@ -45,7 +46,6 @@ sanitizer_common_files = \
>         sanitizer_netbsd.cpp \
>         sanitizer_openbsd.cpp \
>         sanitizer_persistent_allocator.cpp \
> -       sanitizer_platform_limits_freebsd.cpp \
>         sanitizer_platform_limits_linux.cpp \
>         sanitizer_platform_limits_openbsd.cpp \
>         sanitizer_platform_limits_posix.cpp \
> @@ -81,8 +81,18 @@ sanitizer_common_files = \
>         sanitizer_unwind_win.cpp \
>         sanitizer_win.cpp
>
> +# Don't add $(LIBBACKTRACE_CXXFLAGS) for the following files:
> +# 1. sanitizer_platform_limits_freebsd.cpp must include <md5.h> from
> +#    the OS, not include/md5.h in GCC source tree.
> +sanitizer_common_files_no_libbacktrace = \
> +       sanitizer_platform_limits_freebsd.cpp
>
> -libsanitizer_common_la_SOURCES = $(sanitizer_common_files)
> +$(sanitizer_common_files:.cpp=.lo) \
> +  $(sanitizer_common_files:.cpp=.$(OBJEXT)): AM_CXXFLAGS += $(LIBBACKTRACE_CXXFLAGS)
> +
> +libsanitizer_common_la_SOURCES = \
> +  $(sanitizer_common_files) \
> +  $(sanitizer_common_files_no_libbacktrace)
>  libsanitizer_common_la_LIBADD = $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
>  libsanitizer_common_la_DEPENDENCIES =  $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
>
> diff --git a/libsanitizer/sanitizer_common/Makefile.in b/libsanitizer/sanitizer_common/Makefile.in
> index 2856894d62b..1433db2238b 100644
> --- a/libsanitizer/sanitizer_common/Makefile.in
> +++ b/libsanitizer/sanitizer_common/Makefile.in
> @@ -89,12 +89,6 @@ POST_UNINSTALL = :
>  build_triplet = @build@
>  host_triplet = @host@
>  target_triplet = @target@
> -@LIBBACKTRACE_SUPPORTED_TRUE@am__append_1 = -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
> -@LIBBACKTRACE_SUPPORTED_TRUE@         -I $(top_srcdir)/../libbacktrace \
> -@LIBBACKTRACE_SUPPORTED_TRUE@         -I $(top_builddir)/libbacktrace \
> -@LIBBACKTRACE_SUPPORTED_TRUE@         -I $(top_srcdir)/../include \
> -@LIBBACKTRACE_SUPPORTED_TRUE@         -include $(top_srcdir)/libbacktrace/backtrace-rename.h
> -
>  subdir = sanitizer_common
>  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
>  am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
> @@ -131,7 +125,6 @@ am__objects_1 = sancov_flags.lo sanitizer_allocator.lo \
>         sanitizer_mac.lo sanitizer_mac_libcdep.lo sanitizer_mutex.lo \
>         sanitizer_netbsd.lo sanitizer_openbsd.lo \
>         sanitizer_persistent_allocator.lo \
> -       sanitizer_platform_limits_freebsd.lo \
>         sanitizer_platform_limits_linux.lo \
>         sanitizer_platform_limits_openbsd.lo \
>         sanitizer_platform_limits_posix.lo \
> @@ -153,7 +146,8 @@ am__objects_1 = sancov_flags.lo sanitizer_allocator.lo \
>         sanitizer_thread_registry.lo sanitizer_tls_get_addr.lo \
>         sanitizer_unwind_linux_libcdep.lo sanitizer_unwind_win.lo \
>         sanitizer_win.lo
> -am_libsanitizer_common_la_OBJECTS = $(am__objects_1)
> +am__objects_2 = sanitizer_platform_limits_freebsd.lo
> +am_libsanitizer_common_la_OBJECTS = $(am__objects_1) $(am__objects_2)
>  libsanitizer_common_la_OBJECTS = $(am_libsanitizer_common_la_OBJECTS)
>  AM_V_lt = $(am__v_lt_@AM_V@)
>  am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
> @@ -376,7 +370,14 @@ AM_CXXFLAGS = -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic \
>         -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti \
>         -fomit-frame-pointer -funwind-tables -fvisibility=hidden \
>         -Wno-variadic-macros $(LIBSTDCXX_RAW_CXX_CXXFLAGS) \
> -       -std=gnu++14 $(EXTRA_CXXFLAGS) $(am__append_1)
> +       -std=gnu++14 $(EXTRA_CXXFLAGS)
> +@LIBBACKTRACE_SUPPORTED_TRUE@LIBBACKTRACE_CXXFLAGS = \
> +@LIBBACKTRACE_SUPPORTED_TRUE@  -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
> +@LIBBACKTRACE_SUPPORTED_TRUE@  -I $(top_srcdir)/../libbacktrace \
> +@LIBBACKTRACE_SUPPORTED_TRUE@  -I $(top_builddir)/libbacktrace \
> +@LIBBACKTRACE_SUPPORTED_TRUE@  -I $(top_srcdir)/../include \
> +@LIBBACKTRACE_SUPPORTED_TRUE@  -include $(top_srcdir)/libbacktrace/backtrace-rename.h
> +
>  AM_CCASFLAGS = $(EXTRA_ASFLAGS)
>  ACLOCAL_AMFLAGS = -I m4
>  noinst_LTLIBRARIES = libsanitizer_common.la
> @@ -405,7 +406,6 @@ sanitizer_common_files = \
>         sanitizer_netbsd.cpp \
>         sanitizer_openbsd.cpp \
>         sanitizer_persistent_allocator.cpp \
> -       sanitizer_platform_limits_freebsd.cpp \
>         sanitizer_platform_limits_linux.cpp \
>         sanitizer_platform_limits_openbsd.cpp \
>         sanitizer_platform_limits_posix.cpp \
> @@ -441,7 +441,17 @@ sanitizer_common_files = \
>         sanitizer_unwind_win.cpp \
>         sanitizer_win.cpp
>
> -libsanitizer_common_la_SOURCES = $(sanitizer_common_files)
> +
> +# Don't add $(LIBBACKTRACE_CXXFLAGS) for the following files:
> +# 1. sanitizer_platform_limits_freebsd.cpp must include <md5.h> from
> +#    the OS, not include/md5.h in GCC source tree.
> +sanitizer_common_files_no_libbacktrace = \
> +       sanitizer_platform_limits_freebsd.cpp
> +
> +libsanitizer_common_la_SOURCES = \
> +  $(sanitizer_common_files) \
> +  $(sanitizer_common_files_no_libbacktrace)
> +
>  libsanitizer_common_la_LIBADD = $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
>  libsanitizer_common_la_DEPENDENCIES = $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
>
> @@ -800,6 +810,9 @@ uninstall-am:
>  .PRECIOUS: Makefile
>
>
> +$(sanitizer_common_files:.cpp=.lo) \
> +  $(sanitizer_common_files:.cpp=.$(OBJEXT)): AM_CXXFLAGS += $(LIBBACKTRACE_CXXFLAGS)
> +
>  # Tell versions [3.59,3.63) of GNU make to not export all variables.
>  # Otherwise a system limit (for SysV at least) may be exceeded.
>  .NOEXPORT:
> --
> 2.33.0
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
  2021-11-02  9:14 ` Richard Biener
@ 2021-11-02 12:02   ` H.J. Lu
  2021-11-02 12:11     ` Jakub Jelinek
  0 siblings, 1 reply; 11+ messages in thread
From: H.J. Lu @ 2021-11-02 12:02 UTC (permalink / raw)
  To: Richard Biener; +Cc: GCC Patches, Jakub Jelinek

On Tue, Nov 2, 2021 at 2:14 AM Richard Biener
<richard.guenther@gmail.com> wrote:
>
> On Sat, Oct 30, 2021 at 10:54 PM H.J. Lu via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
> >
> > sanitizer_platform_limits_freebsd.cpp must include <md5.h> from the OS,
> > not include/md5.h in GCC source tree which is included by libbacktrace
> > support.  Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
> > to avoid include/md5.h to restore bootstrap on FreeBSD.
>
> Err, but that will just get complaints about disabled libbacktrace backtracking
> (from within the sanitizer?)?

It disables libbacktrace backtracking only on one file,
sanitizer_platform_limits_freebsd.cpp,
which contains only data on FreeBSD.  I highly doubt that libbacktrace
backtracking is
used in it.

> >         PR bootstrap/102675
> >         * sanitizer_common/Makefile.am (AM_CXXFLAGS): Extract libbacktrace
> >         CXXFLAGS to ...
> >         (LIBBACKTRACE_CXXFLAGS): Here.  New.
> >         (sanitizer_common_files): Move sanitizer_platform_limits_freebsd.cpp
> >         to ...
> >         (sanitizer_common_files_no_libbacktrace): Here.  New.
> >         (AM_CXXFLAGS): Add $(LIBBACKTRACE_CXXFLAGS) for
> >         $(sanitizer_common_files).
> >         (libsanitizer_common_la_SOURCES): Add
> >         $(sanitizer_common_files_no_libbacktrace).
> >         * sanitizer_common/Makefile.in: Regenerate.
> > ---
> >  libsanitizer/sanitizer_common/Makefile.am | 24 +++++++++++-----
> >  libsanitizer/sanitizer_common/Makefile.in | 35 ++++++++++++++++-------
> >  2 files changed, 41 insertions(+), 18 deletions(-)
> >
> > diff --git a/libsanitizer/sanitizer_common/Makefile.am b/libsanitizer/sanitizer_common/Makefile.am
> > index d04f2d8bd16..0ea459c2b3a 100644
> > --- a/libsanitizer/sanitizer_common/Makefile.am
> > +++ b/libsanitizer/sanitizer_common/Makefile.am
> > @@ -9,11 +9,12 @@ AM_CXXFLAGS += $(LIBSTDCXX_RAW_CXX_CXXFLAGS)
> >  AM_CXXFLAGS += -std=gnu++14
> >  AM_CXXFLAGS += $(EXTRA_CXXFLAGS)
> >  if LIBBACKTRACE_SUPPORTED
> > -AM_CXXFLAGS += -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
> > -              -I $(top_srcdir)/../libbacktrace \
> > -              -I $(top_builddir)/libbacktrace \
> > -              -I $(top_srcdir)/../include \
> > -              -include $(top_srcdir)/libbacktrace/backtrace-rename.h
> > +LIBBACKTRACE_CXXFLAGS = \
> > +  -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
> > +  -I $(top_srcdir)/../libbacktrace \
> > +  -I $(top_builddir)/libbacktrace \
> > +  -I $(top_srcdir)/../include \
> > +  -include $(top_srcdir)/libbacktrace/backtrace-rename.h
> >  endif
> >  AM_CCASFLAGS = $(EXTRA_ASFLAGS)
> >  ACLOCAL_AMFLAGS = -I m4
> > @@ -45,7 +46,6 @@ sanitizer_common_files = \
> >         sanitizer_netbsd.cpp \
> >         sanitizer_openbsd.cpp \
> >         sanitizer_persistent_allocator.cpp \
> > -       sanitizer_platform_limits_freebsd.cpp \
> >         sanitizer_platform_limits_linux.cpp \
> >         sanitizer_platform_limits_openbsd.cpp \
> >         sanitizer_platform_limits_posix.cpp \
> > @@ -81,8 +81,18 @@ sanitizer_common_files = \
> >         sanitizer_unwind_win.cpp \
> >         sanitizer_win.cpp
> >
> > +# Don't add $(LIBBACKTRACE_CXXFLAGS) for the following files:
> > +# 1. sanitizer_platform_limits_freebsd.cpp must include <md5.h> from
> > +#    the OS, not include/md5.h in GCC source tree.
> > +sanitizer_common_files_no_libbacktrace = \
> > +       sanitizer_platform_limits_freebsd.cpp
> >
> > -libsanitizer_common_la_SOURCES = $(sanitizer_common_files)
> > +$(sanitizer_common_files:.cpp=.lo) \
> > +  $(sanitizer_common_files:.cpp=.$(OBJEXT)): AM_CXXFLAGS += $(LIBBACKTRACE_CXXFLAGS)
> > +
> > +libsanitizer_common_la_SOURCES = \
> > +  $(sanitizer_common_files) \
> > +  $(sanitizer_common_files_no_libbacktrace)
> >  libsanitizer_common_la_LIBADD = $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
> >  libsanitizer_common_la_DEPENDENCIES =  $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
> >
> > diff --git a/libsanitizer/sanitizer_common/Makefile.in b/libsanitizer/sanitizer_common/Makefile.in
> > index 2856894d62b..1433db2238b 100644
> > --- a/libsanitizer/sanitizer_common/Makefile.in
> > +++ b/libsanitizer/sanitizer_common/Makefile.in
> > @@ -89,12 +89,6 @@ POST_UNINSTALL = :
> >  build_triplet = @build@
> >  host_triplet = @host@
> >  target_triplet = @target@
> > -@LIBBACKTRACE_SUPPORTED_TRUE@am__append_1 = -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
> > -@LIBBACKTRACE_SUPPORTED_TRUE@         -I $(top_srcdir)/../libbacktrace \
> > -@LIBBACKTRACE_SUPPORTED_TRUE@         -I $(top_builddir)/libbacktrace \
> > -@LIBBACKTRACE_SUPPORTED_TRUE@         -I $(top_srcdir)/../include \
> > -@LIBBACKTRACE_SUPPORTED_TRUE@         -include $(top_srcdir)/libbacktrace/backtrace-rename.h
> > -
> >  subdir = sanitizer_common
> >  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
> >  am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
> > @@ -131,7 +125,6 @@ am__objects_1 = sancov_flags.lo sanitizer_allocator.lo \
> >         sanitizer_mac.lo sanitizer_mac_libcdep.lo sanitizer_mutex.lo \
> >         sanitizer_netbsd.lo sanitizer_openbsd.lo \
> >         sanitizer_persistent_allocator.lo \
> > -       sanitizer_platform_limits_freebsd.lo \
> >         sanitizer_platform_limits_linux.lo \
> >         sanitizer_platform_limits_openbsd.lo \
> >         sanitizer_platform_limits_posix.lo \
> > @@ -153,7 +146,8 @@ am__objects_1 = sancov_flags.lo sanitizer_allocator.lo \
> >         sanitizer_thread_registry.lo sanitizer_tls_get_addr.lo \
> >         sanitizer_unwind_linux_libcdep.lo sanitizer_unwind_win.lo \
> >         sanitizer_win.lo
> > -am_libsanitizer_common_la_OBJECTS = $(am__objects_1)
> > +am__objects_2 = sanitizer_platform_limits_freebsd.lo
> > +am_libsanitizer_common_la_OBJECTS = $(am__objects_1) $(am__objects_2)
> >  libsanitizer_common_la_OBJECTS = $(am_libsanitizer_common_la_OBJECTS)
> >  AM_V_lt = $(am__v_lt_@AM_V@)
> >  am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
> > @@ -376,7 +370,14 @@ AM_CXXFLAGS = -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic \
> >         -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti \
> >         -fomit-frame-pointer -funwind-tables -fvisibility=hidden \
> >         -Wno-variadic-macros $(LIBSTDCXX_RAW_CXX_CXXFLAGS) \
> > -       -std=gnu++14 $(EXTRA_CXXFLAGS) $(am__append_1)
> > +       -std=gnu++14 $(EXTRA_CXXFLAGS)
> > +@LIBBACKTRACE_SUPPORTED_TRUE@LIBBACKTRACE_CXXFLAGS = \
> > +@LIBBACKTRACE_SUPPORTED_TRUE@  -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
> > +@LIBBACKTRACE_SUPPORTED_TRUE@  -I $(top_srcdir)/../libbacktrace \
> > +@LIBBACKTRACE_SUPPORTED_TRUE@  -I $(top_builddir)/libbacktrace \
> > +@LIBBACKTRACE_SUPPORTED_TRUE@  -I $(top_srcdir)/../include \
> > +@LIBBACKTRACE_SUPPORTED_TRUE@  -include $(top_srcdir)/libbacktrace/backtrace-rename.h
> > +
> >  AM_CCASFLAGS = $(EXTRA_ASFLAGS)
> >  ACLOCAL_AMFLAGS = -I m4
> >  noinst_LTLIBRARIES = libsanitizer_common.la
> > @@ -405,7 +406,6 @@ sanitizer_common_files = \
> >         sanitizer_netbsd.cpp \
> >         sanitizer_openbsd.cpp \
> >         sanitizer_persistent_allocator.cpp \
> > -       sanitizer_platform_limits_freebsd.cpp \
> >         sanitizer_platform_limits_linux.cpp \
> >         sanitizer_platform_limits_openbsd.cpp \
> >         sanitizer_platform_limits_posix.cpp \
> > @@ -441,7 +441,17 @@ sanitizer_common_files = \
> >         sanitizer_unwind_win.cpp \
> >         sanitizer_win.cpp
> >
> > -libsanitizer_common_la_SOURCES = $(sanitizer_common_files)
> > +
> > +# Don't add $(LIBBACKTRACE_CXXFLAGS) for the following files:
> > +# 1. sanitizer_platform_limits_freebsd.cpp must include <md5.h> from
> > +#    the OS, not include/md5.h in GCC source tree.
> > +sanitizer_common_files_no_libbacktrace = \
> > +       sanitizer_platform_limits_freebsd.cpp
> > +
> > +libsanitizer_common_la_SOURCES = \
> > +  $(sanitizer_common_files) \
> > +  $(sanitizer_common_files_no_libbacktrace)
> > +
> >  libsanitizer_common_la_LIBADD = $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
> >  libsanitizer_common_la_DEPENDENCIES = $(SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS)
> >
> > @@ -800,6 +810,9 @@ uninstall-am:
> >  .PRECIOUS: Makefile
> >
> >
> > +$(sanitizer_common_files:.cpp=.lo) \
> > +  $(sanitizer_common_files:.cpp=.$(OBJEXT)): AM_CXXFLAGS += $(LIBBACKTRACE_CXXFLAGS)
> > +
> >  # Tell versions [3.59,3.63) of GNU make to not export all variables.
> >  # Otherwise a system limit (for SysV at least) may be exceeded.
> >  .NOEXPORT:
> > --
> > 2.33.0
> >



-- 
H.J.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
  2021-11-02 12:02   ` H.J. Lu
@ 2021-11-02 12:11     ` Jakub Jelinek
  2021-11-02 12:26       ` H.J. Lu
  0 siblings, 1 reply; 11+ messages in thread
From: Jakub Jelinek @ 2021-11-02 12:11 UTC (permalink / raw)
  To: H.J. Lu; +Cc: Richard Biener, GCC Patches

On Tue, Nov 02, 2021 at 05:02:12AM -0700, H.J. Lu wrote:
> > On Sat, Oct 30, 2021 at 10:54 PM H.J. Lu via Gcc-patches
> > <gcc-patches@gcc.gnu.org> wrote:
> > >
> > > sanitizer_platform_limits_freebsd.cpp must include <md5.h> from the OS,
> > > not include/md5.h in GCC source tree which is included by libbacktrace
> > > support.  Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
> > > to avoid include/md5.h to restore bootstrap on FreeBSD.
> >
> > Err, but that will just get complaints about disabled libbacktrace backtracking
> > (from within the sanitizer?)?
> 
> It disables libbacktrace backtracking only on one file,
> sanitizer_platform_limits_freebsd.cpp,
> which contains only data on FreeBSD.  I highly doubt that libbacktrace
> backtracking is
> used in it.

include/md5.h is a header we have control over, can't we just add to it
something like:
#ifdef USE_SYSTEM_MD5
#include_next <md5.h>
#else
Current header content
#endif
and arrange for that macro to be -DUSE_SYSTEM_MD5 when building that
libsanitizer source file?

	Jakub


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
  2021-11-02 12:11     ` Jakub Jelinek
@ 2021-11-02 12:26       ` H.J. Lu
  2021-11-04  5:43         ` Gerald Pfeifer
  0 siblings, 1 reply; 11+ messages in thread
From: H.J. Lu @ 2021-11-02 12:26 UTC (permalink / raw)
  To: Jakub Jelinek, Gerald Pfeifer; +Cc: Richard Biener, GCC Patches

On Tue, Nov 2, 2021 at 5:11 AM Jakub Jelinek <jakub@redhat.com> wrote:
>
> On Tue, Nov 02, 2021 at 05:02:12AM -0700, H.J. Lu wrote:
> > > On Sat, Oct 30, 2021 at 10:54 PM H.J. Lu via Gcc-patches
> > > <gcc-patches@gcc.gnu.org> wrote:
> > > >
> > > > sanitizer_platform_limits_freebsd.cpp must include <md5.h> from the OS,
> > > > not include/md5.h in GCC source tree which is included by libbacktrace
> > > > support.  Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
> > > > to avoid include/md5.h to restore bootstrap on FreeBSD.
> > >
> > > Err, but that will just get complaints about disabled libbacktrace backtracking
> > > (from within the sanitizer?)?
> >
> > It disables libbacktrace backtracking only on one file,
> > sanitizer_platform_limits_freebsd.cpp,
> > which contains only data on FreeBSD.  I highly doubt that libbacktrace
> > backtracking is
> > used in it.
>
> include/md5.h is a header we have control over, can't we just add to it
> something like:
> #ifdef USE_SYSTEM_MD5
> #include_next <md5.h>
> #else
> Current header content
> #endif
> and arrange for that macro to be -DUSE_SYSTEM_MD5 when building that
> libsanitizer source file?
>

Gerald, can you try this suggestion?  You can add "#define USE_SYSTEM_MD5"
in sanitizer_platform_limits_freebsd.cpp for testing.


-- 
H.J.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
  2021-11-02 12:26       ` H.J. Lu
@ 2021-11-04  5:43         ` Gerald Pfeifer
  2021-11-04  8:19           ` Jakub Jelinek
  0 siblings, 1 reply; 11+ messages in thread
From: Gerald Pfeifer @ 2021-11-04  5:43 UTC (permalink / raw)
  To: H.J. Lu, Jakub Jelinek; +Cc: Richard Biener, gcc-patches

On Tue, 2 Nov 2021, H.J. Lu wrote:
> On Tue, Nov 2, 2021 at 5:11 AM Jakub Jelinek <jakub@redhat.com> wrote:
>> include/md5.h is a header we have control over, can't we just add to it
>> something like:
>> #ifdef USE_SYSTEM_MD5
>> #include_next <md5.h>
>> #else
>> Current header content
>> #endif
>> and arrange for that macro to be -DUSE_SYSTEM_MD5 when building that
>> libsanitizer source file?
> Gerald, can you try this suggestion?  You can add "#define 
> USE_SYSTEM_MD5" in sanitizer_platform_limits_freebsd.cpp for testing.

Yes, the patch below restores bootstrap on x86_64-unkown-freebsd12.

Okay for now (or does anyone want to / can anyone help with Makefile
trickery to -Define USE_SYSTEM_MD5 there)?

Thanks,
Gerald


include:
	* md5.h (USE_SYSTEM_MD5): Introduce.

libsanitizer:
	* sanitizer_common/sanitizer_platform_limits_freebsd.cpp
	(USE_SYSTEM_MD5): Define.


diff --git a/include/md5.h b/include/md5.h
index 03f7d29afc7..c5bb6076969 100644
--- a/include/md5.h
+++ b/include/md5.h
@@ -21,6 +21,10 @@
 #ifndef _MD5_H
 #define _MD5_H 1
 
+#ifdef USE_SYSTEM_MD5
+#include_next <md5.h>
+#else
+
 #include <stdio.h>
 
 #if defined HAVE_LIMITS_H || _LIBC
@@ -151,4 +155,6 @@ extern void *md5_buffer (const char *buffer, size_t len, void *resblock);
 }
 #endif
 
+#endif // USE_SYSTEM_MD5
+
 #endif
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_freebsd.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
index 64535805e40..a549734efc5 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
@@ -15,6 +15,8 @@
 
 #if SANITIZER_FREEBSD
 
+#define USE_SYSTEM_MD5
+
 #include <sys/capsicum.h>
 #include <sys/consio.h>
 #include <sys/filio.h>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
  2021-11-04  5:43         ` Gerald Pfeifer
@ 2021-11-04  8:19           ` Jakub Jelinek
  2021-11-04 12:30             ` H.J. Lu
  0 siblings, 1 reply; 11+ messages in thread
From: Jakub Jelinek @ 2021-11-04  8:19 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: H.J. Lu, Richard Biener, gcc-patches

On Thu, Nov 04, 2021 at 06:43:26AM +0100, Gerald Pfeifer wrote:
> On Tue, 2 Nov 2021, H.J. Lu wrote:
> > On Tue, Nov 2, 2021 at 5:11 AM Jakub Jelinek <jakub@redhat.com> wrote:
> >> include/md5.h is a header we have control over, can't we just add to it
> >> something like:
> >> #ifdef USE_SYSTEM_MD5
> >> #include_next <md5.h>
> >> #else
> >> Current header content
> >> #endif
> >> and arrange for that macro to be -DUSE_SYSTEM_MD5 when building that
> >> libsanitizer source file?
> > Gerald, can you try this suggestion?  You can add "#define 
> > USE_SYSTEM_MD5" in sanitizer_platform_limits_freebsd.cpp for testing.
> 
> Yes, the patch below restores bootstrap on x86_64-unkown-freebsd12.
> 
> Okay for now (or does anyone want to / can anyone help with Makefile
> trickery to -Define USE_SYSTEM_MD5 there)?
> 
> Thanks,
> Gerald
> 
> 
> include:
> 	* md5.h (USE_SYSTEM_MD5): Introduce.
> 
> libsanitizer:
> 	* sanitizer_common/sanitizer_platform_limits_freebsd.cpp
> 	(USE_SYSTEM_MD5): Define.

Ok.  But please after committing mention the revision in
libsanitizer/LOCAL_PATCHES.

	Jakub


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
  2021-11-04  8:19           ` Jakub Jelinek
@ 2021-11-04 12:30             ` H.J. Lu
  2021-11-08  7:50               ` Gerald Pfeifer
  0 siblings, 1 reply; 11+ messages in thread
From: H.J. Lu @ 2021-11-04 12:30 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Gerald Pfeifer, Richard Biener, GCC Patches

On Thu, Nov 4, 2021 at 1:20 AM Jakub Jelinek <jakub@redhat.com> wrote:
>
> On Thu, Nov 04, 2021 at 06:43:26AM +0100, Gerald Pfeifer wrote:
> > On Tue, 2 Nov 2021, H.J. Lu wrote:
> > > On Tue, Nov 2, 2021 at 5:11 AM Jakub Jelinek <jakub@redhat.com> wrote:
> > >> include/md5.h is a header we have control over, can't we just add to it
> > >> something like:
> > >> #ifdef USE_SYSTEM_MD5
> > >> #include_next <md5.h>
> > >> #else
> > >> Current header content
> > >> #endif
> > >> and arrange for that macro to be -DUSE_SYSTEM_MD5 when building that
> > >> libsanitizer source file?
> > > Gerald, can you try this suggestion?  You can add "#define
> > > USE_SYSTEM_MD5" in sanitizer_platform_limits_freebsd.cpp for testing.
> >
> > Yes, the patch below restores bootstrap on x86_64-unkown-freebsd12.
> >
> > Okay for now (or does anyone want to / can anyone help with Makefile
> > trickery to -Define USE_SYSTEM_MD5 there)?
> >
> > Thanks,
> > Gerald
> >
> >
> > include:
> >       * md5.h (USE_SYSTEM_MD5): Introduce.
> >
> > libsanitizer:
> >       * sanitizer_common/sanitizer_platform_limits_freebsd.cpp
> >       (USE_SYSTEM_MD5): Define.
>
> Ok.  But please after committing mention the revision in
> libsanitizer/LOCAL_PATCHES.
>
>         Jakub
>

include and libsanitizer should use 2 separate patches.  The libsanitizer
patch should be in libsanitizer/LOCAL_PATCHES.

-- 
H.J.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp
  2021-11-04 12:30             ` H.J. Lu
@ 2021-11-08  7:50               ` Gerald Pfeifer
  2021-11-17 13:09                 ` [PATCH] libsanitizer: Fix bootstrap on FreeBSD [PR102675] Jakub Jelinek
  0 siblings, 1 reply; 11+ messages in thread
From: Gerald Pfeifer @ 2021-11-08  7:50 UTC (permalink / raw)
  To: H.J. Lu, Jakub Jelinek; +Cc: Richard Biener, GCC Patches

On Thu, 4 Nov 2021, H.J. Lu wrote:
>> Ok.  But please after committing mention the revision in
>> libsanitizer/LOCAL_PATCHES.
> include and libsanitizer should use 2 separate patches.  The 
> libsanitizer patch should be in libsanitizer/LOCAL_PATCHES.

Okay, thanks.

This is the first part I committed on Friday, the second will 
follow today.

Gerald


commit 44d9d55c6d0e3a1e26427662d30f350a80282634
Author: Gerald Pfeifer <gerald@pfeifer.com>
Date:   Fri Nov 5 12:56:07 2021 +0100

    include: Allow for our md5.h to defer to the system header
    
    This came up in the context of libsanitizer, where platform-specific
    support for FreeBSD relies on aspects provided by FreeBSD's own md5.h.
    
    Address this by allowing GCC's md5.h to pull in the system header
    instead, controlled by a new macro USE_SYSTEM_MD5.
    
    2021-11-05  Gerald Pfeifer  <gerald@pfeifer.com>
                Jakub Jelinek  <jakub@redhat.com>
    
    include/
            * md5.h (USE_SYSTEM_MD5): Introduce.

diff --git a/include/md5.h b/include/md5.h
index 03f7d29afc7..c5bb6076969 100644
--- a/include/md5.h
+++ b/include/md5.h
@@ -21,6 +21,10 @@
 #ifndef _MD5_H
 #define _MD5_H 1
 
+#ifdef USE_SYSTEM_MD5
+#include_next <md5.h>
+#else
+
 #include <stdio.h>
 
 #if defined HAVE_LIMITS_H || _LIBC
@@ -151,4 +155,6 @@ extern void *md5_buffer (const char *buffer, size_t len, void *resblock);
 }
 #endif
 
+#endif // USE_SYSTEM_MD5
+
 #endif

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] libsanitizer: Fix bootstrap on FreeBSD [PR102675]
  2021-11-08  7:50               ` Gerald Pfeifer
@ 2021-11-17 13:09                 ` Jakub Jelinek
  2021-11-18  9:00                   ` Richard Biener
  0 siblings, 1 reply; 11+ messages in thread
From: Jakub Jelinek @ 2021-11-17 13:09 UTC (permalink / raw)
  To: Richard Biener, Jeff Law, Gerald Pfeifer; +Cc: gcc-patches

On Mon, Nov 08, 2021 at 08:50:41AM +0100, Gerald Pfeifer wrote:
> This is the first part I committed on Friday, the second will 
> follow today.

Here is an alternative to the patch changing a file imported from
compiler-rt upstream, so that we don't need to cary a local patch for that
particular problem.

Bootstrapped/regtested on x86_64-linux and i686-linux (verified that
-DUSE_SYSTEM_MD5 is passed only when compiling
sanitizer_platform_limits_freebsd.cpp) and Gerald in the PR said
it passed bootstrap on FreeBSD as well.

Ok for trunk?

2021-11-17  Jakub Jelinek  <jakub@redhat.com>

	PR bootstrap/102675
	* sanitizer_common/Makefile.am: Use -DUSE_SYSTEM_MD5 in AM_CXXFLAGS
	of sanitizer_platform_limits_freebsd.cpp.
	* sanitizer_common/Makefile.in: Regenerated.

--- libsanitizer/sanitizer_common/Makefile.am.jj	2021-11-05 00:43:22.647623646 +0100
+++ libsanitizer/sanitizer_common/Makefile.am	2021-11-16 12:29:58.574930436 +0100
@@ -17,6 +17,7 @@ AM_CXXFLAGS += -DSANITIZER_LIBBACKTRACE
 endif
 AM_CCASFLAGS = $(EXTRA_ASFLAGS)
 ACLOCAL_AMFLAGS = -I m4
+sanitizer_platform_limits_freebsd.lo: AM_CXXFLAGS += -DUSE_SYSTEM_MD5
 
 noinst_LTLIBRARIES = libsanitizer_common.la
 
--- libsanitizer/sanitizer_common/Makefile.in.jj	2021-11-05 00:43:22.647623646 +0100
+++ libsanitizer/sanitizer_common/Makefile.in	2021-11-16 12:30:58.611088913 +0100
@@ -796,6 +796,7 @@ uninstall-am:
 
 .PRECIOUS: Makefile
 
+sanitizer_platform_limits_freebsd.lo: AM_CXXFLAGS += -DUSE_SYSTEM_MD5
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.

	Jakub


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] libsanitizer: Fix bootstrap on FreeBSD [PR102675]
  2021-11-17 13:09                 ` [PATCH] libsanitizer: Fix bootstrap on FreeBSD [PR102675] Jakub Jelinek
@ 2021-11-18  9:00                   ` Richard Biener
  0 siblings, 0 replies; 11+ messages in thread
From: Richard Biener @ 2021-11-18  9:00 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Jeff Law, Gerald Pfeifer, gcc-patches

On Wed, 17 Nov 2021, Jakub Jelinek wrote:

> On Mon, Nov 08, 2021 at 08:50:41AM +0100, Gerald Pfeifer wrote:
> > This is the first part I committed on Friday, the second will 
> > follow today.
> 
> Here is an alternative to the patch changing a file imported from
> compiler-rt upstream, so that we don't need to cary a local patch for that
> particular problem.
> 
> Bootstrapped/regtested on x86_64-linux and i686-linux (verified that
> -DUSE_SYSTEM_MD5 is passed only when compiling
> sanitizer_platform_limits_freebsd.cpp) and Gerald in the PR said
> it passed bootstrap on FreeBSD as well.
> 
> Ok for trunk?

OK.

> 2021-11-17  Jakub Jelinek  <jakub@redhat.com>
> 
> 	PR bootstrap/102675
> 	* sanitizer_common/Makefile.am: Use -DUSE_SYSTEM_MD5 in AM_CXXFLAGS
> 	of sanitizer_platform_limits_freebsd.cpp.
> 	* sanitizer_common/Makefile.in: Regenerated.
> 
> --- libsanitizer/sanitizer_common/Makefile.am.jj	2021-11-05 00:43:22.647623646 +0100
> +++ libsanitizer/sanitizer_common/Makefile.am	2021-11-16 12:29:58.574930436 +0100
> @@ -17,6 +17,7 @@ AM_CXXFLAGS += -DSANITIZER_LIBBACKTRACE
>  endif
>  AM_CCASFLAGS = $(EXTRA_ASFLAGS)
>  ACLOCAL_AMFLAGS = -I m4
> +sanitizer_platform_limits_freebsd.lo: AM_CXXFLAGS += -DUSE_SYSTEM_MD5
>  
>  noinst_LTLIBRARIES = libsanitizer_common.la
>  
> --- libsanitizer/sanitizer_common/Makefile.in.jj	2021-11-05 00:43:22.647623646 +0100
> +++ libsanitizer/sanitizer_common/Makefile.in	2021-11-16 12:30:58.611088913 +0100
> @@ -796,6 +796,7 @@ uninstall-am:
>  
>  .PRECIOUS: Makefile
>  
> +sanitizer_platform_limits_freebsd.lo: AM_CXXFLAGS += -DUSE_SYSTEM_MD5
>  
>  # Tell versions [3.59,3.63) of GNU make to not export all variables.
>  # Otherwise a system limit (for SysV at least) may be exceeded.
> 
> 	Jakub
> 
> 

-- 
Richard Biener <rguenther@suse.de>
SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
Germany; GF: Ivo Totev; HRB 36809 (AG Nuernberg)

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-11-18  9:00 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-30 20:53 [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp H.J. Lu
2021-11-02  9:14 ` Richard Biener
2021-11-02 12:02   ` H.J. Lu
2021-11-02 12:11     ` Jakub Jelinek
2021-11-02 12:26       ` H.J. Lu
2021-11-04  5:43         ` Gerald Pfeifer
2021-11-04  8:19           ` Jakub Jelinek
2021-11-04 12:30             ` H.J. Lu
2021-11-08  7:50               ` Gerald Pfeifer
2021-11-17 13:09                 ` [PATCH] libsanitizer: Fix bootstrap on FreeBSD [PR102675] Jakub Jelinek
2021-11-18  9:00                   ` Richard Biener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).