From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) by sourceware.org (Postfix) with ESMTPS id D12A83858420 for ; Sat, 30 Oct 2021 20:53:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D12A83858420 Received: by mail-pg1-x530.google.com with SMTP id t7so13332953pgl.9 for ; Sat, 30 Oct 2021 13:53:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ZOovOrdXGAlHfkv+hQKBXpfctTcdQ3mHG+G3vJFIFN4=; b=D5oIuSy7CfFZc+AfOLK93muu89Yxytu0ZlmBAvjcZEW8zaDinyQf1cknDyYyPO8Lwc TAIkLOmkzgjQdfcP6VtOfiJMx1wm5sXATmKen3S/eOQR78MeYW6Hg8o/aJyN9hfZGqwa 1evOhBoxsT+PzDTM8fifBMBSrDiNgm5b9kHKL4eStKGD5urD1k3AylrWBHRwykfb8SIu S1eHLqbW0fzgkEEvSoCLnP4kSbSMb0Rs1MSumILRBRz6suJ5hA8SDSQ314LJ8CwG0eMd 9Elg6vwRF/xx00L0xg17rEgKbuQ+rc2P7ZU3mIb4sfywAnYj4Jd0+l5KNDW99eJDqCAH vmbQ== X-Gm-Message-State: AOAM533R3p1vrPfo7qlGAzh1MX2E0pwJ8wgwSDaIhTznPs+eVrwPSTch xLg0AkYx+YPgLcL0RqpabAAhLlsPsu4= X-Google-Smtp-Source: ABdhPJz6T+pJQPqIAgV6RebgWYrUZZqZ+zv8k4Rw3AAHZ0gTgNMazSfIdo2PIYfWCzrhCz263Jd+sA== X-Received: by 2002:a63:2b90:: with SMTP id r138mr14356227pgr.322.1635627232705; Sat, 30 Oct 2021 13:53:52 -0700 (PDT) Received: from gnu-cfl-2.localdomain ([2607:fb90:a63f:468b:b937:402b:0:c66]) by smtp.gmail.com with ESMTPSA id v14sm10700772pff.199.2021.10.30.13.53.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 Oct 2021 13:53:52 -0700 (PDT) Received: from gnu-tgl-2.localdomain (gnu-tgl-2 [192.168.1.34]) by gnu-cfl-2.localdomain (Postfix) with ESMTPS id 77F6D1A0907; Sat, 30 Oct 2021 13:53:51 -0700 (PDT) Received: from gnu-tgl-2.. (localhost [IPv6:::1]) by gnu-tgl-2.localdomain (Postfix) with ESMTP id 38D3F300330; Sat, 30 Oct 2021 13:53:50 -0700 (PDT) From: "H.J. Lu" To: gcc-patches@gcc.gnu.org Cc: Jakub Jelinek Subject: [PATCH] libsanitizer: Disable libbacktrace on sanitizer_platform_limits_freebsd.cpp Date: Sat, 30 Oct 2021 13:53:50 -0700 Message-Id: <20211030205350.35085-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3022.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, UNWANTED_LANGUAGE_BODY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Oct 2021 20:53:56 -0000 sanitizer_platform_limits_freebsd.cpp must include 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 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 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