[TCWG CI] Regression caused by binutils: Avoid conflict with gnulib open/close macros.: commit 8674f082e3f0d3f27ded5d93ebbd11cd702f5f04 Author: Roland McGrath Avoid conflict with gnulib open/close macros. Results regressed to # reset_artifacts: -10 # true: 0 # First few build errors in logs: # 00:00:47 ../../../../../../binutils/gdbsupport/event-pipe.cc:37:1: error: no declaration matches ‘bool event_pipe::open()’ # 00:00:47 make[3]: *** [Makefile:517: event-pipe.o] Error 1 # 00:00:47 make[2]: *** [Makefile:408: all] Error 2 # 00:00:47 make[1]: *** [Makefile:11913: all-gdbsupport] Error 2 # 00:00:49 make: *** [Makefile:1000: all] Error 2 from # reset_artifacts: -10 # true: 0 # build_abe binutils: 1 # build_abe bootstrap: 2 THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. This commit has regressed these CI configurations: - tcwg_gcc_bootstrap/master-aarch64-bootstrap First_bad build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap/7/artifact/artifacts/build-8674f082e3f0d3f27ded5d93ebbd11cd702f5f04/ Last_good build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap/7/artifact/artifacts/build-db120fb808dc24538e89b851d6dda1890aad5a1f/ Baseline build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap/7/artifact/artifacts/build-baseline/ Even more details: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap/7/artifact/artifacts/ Reproduce builds: mkdir investigate-binutils-8674f082e3f0d3f27ded5d93ebbd11cd702f5f04 cd investigate-binutils-8674f082e3f0d3f27ded5d93ebbd11cd702f5f04 # Fetch scripts git clone https://git.linaro.org/toolchain/jenkins-scripts # Fetch manifests and test.sh script mkdir -p artifacts/manifests curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap/7/artifact/artifacts/manifests/build-baseline.sh --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap/7/artifact/artifacts/manifests/build-parameters.sh --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap/7/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh # Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_gnu-build.sh @@ artifacts/manifests/build-baseline.sh # Save baseline build state (which is then restored in artifacts/test.sh) mkdir -p ./bisect rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /binutils/ ./ ./bisect/baseline/ cd binutils # Reproduce first_bad build git checkout --detach 8674f082e3f0d3f27ded5d93ebbd11cd702f5f04 ../artifacts/test.sh # Reproduce last_good build git checkout --detach db120fb808dc24538e89b851d6dda1890aad5a1f ../artifacts/test.sh cd .. Full commit (up to 1000 lines): commit 8674f082e3f0d3f27ded5d93ebbd11cd702f5f04 Author: Roland McGrath Date: Tue Mar 1 16:03:58 2022 -0800 Avoid conflict with gnulib open/close macros. On some systems, the gnulib configuration will decide to define open and/or close as macros to replace the POSIX C functions. This interferes with using those names in C++ class or namespace scopes. gdbsupport/ * event-pipe.cc (event_pipe::open): Renamed to ... (event_pipe::open_pipe): ... this. (event_pipe::close): Renamed to ... (event_pipe::close_pipe): ... this. * event-pipe.h (class event_pipe): Updated. gdb/ * inf-ptrace.h (async_file_open, async_file_close): Updated. gdbserver/ * gdbserver/linux-low.cc (linux_process_target::async): Likewise. --- gdb/inf-ptrace.h | 4 ++-- gdbserver/linux-low.cc | 4 ++-- gdbsupport/event-pipe.cc | 6 +++--- gdbsupport/event-pipe.h | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/gdb/inf-ptrace.h b/gdb/inf-ptrace.h index 62cc7778767..8f18d4579a6 100644 --- a/gdb/inf-ptrace.h +++ b/gdb/inf-ptrace.h @@ -77,9 +77,9 @@ struct inf_ptrace_target : public inf_child_target protected: /* Helper routines for interacting with the async event pipe. */ bool async_file_open () - { return m_event_pipe.open (); } + { return m_event_pipe.open_pipe (); } void async_file_close () - { m_event_pipe.close (); } + { m_event_pipe.close_pipe (); } void async_file_flush () { m_event_pipe.flush (); } void async_file_mark () diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc index 301e42a36f3..0a5b6063104 100644 --- a/gdbserver/linux-low.cc +++ b/gdbserver/linux-low.cc @@ -5810,7 +5810,7 @@ linux_process_target::async (bool enable) if (enable) { - if (!linux_event_pipe.open ()) + if (!linux_event_pipe.open_pipe ()) { gdb_sigmask (SIG_UNBLOCK, &mask, NULL); @@ -5830,7 +5830,7 @@ linux_process_target::async (bool enable) { delete_file_handler (linux_event_pipe.event_fd ()); - linux_event_pipe.close (); + linux_event_pipe.close_pipe (); } gdb_sigmask (SIG_UNBLOCK, &mask, NULL); diff --git a/gdbsupport/event-pipe.cc b/gdbsupport/event-pipe.cc index 2b56b2fac8e..a1d34d59609 100644 --- a/gdbsupport/event-pipe.cc +++ b/gdbsupport/event-pipe.cc @@ -28,7 +28,7 @@ event_pipe::~event_pipe () { if (is_open ()) - close (); + close_pipe (); } /* See event-pipe.h. */ @@ -45,7 +45,7 @@ event_pipe::open () if (fcntl (m_fds[0], F_SETFL, O_NONBLOCK) == -1 || fcntl (m_fds[1], F_SETFL, O_NONBLOCK) == -1) { - close (); + close_pipe (); return false; } @@ -55,7 +55,7 @@ event_pipe::open () /* See event-pipe.h. */ void -event_pipe::close () +event_pipe::close_pipe () { ::close (m_fds[0]); ::close (m_fds[1]); diff --git a/gdbsupport/event-pipe.h b/gdbsupport/event-pipe.h index 50679e470e4..9a41089774d 100644 --- a/gdbsupport/event-pipe.h +++ b/gdbsupport/event-pipe.h @@ -34,10 +34,10 @@ class event_pipe DISABLE_COPY_AND_ASSIGN (event_pipe); /* Create a new pipe. */ - bool open (); + bool open_pipe (); /* Close the pipe. */ - void close (); + void close_pipe (); /* True if the event pipe has been opened. */ bool is_open () const >From hjl@sc.intel.com Fri Mar 4 02:43:57 2022 Return-Path: X-Original-To: gcc-regression@gcc.gnu.org Delivered-To: gcc-regression@gcc.gnu.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by sourceware.org (Postfix) with ESMTPS id 35351385840B for ; Fri, 4 Mar 2022 02:43:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 35351385840B X-IronPort-AV: E=McAfee;i="6200,9189,10275"; a="314591683" X-IronPort-AV: E=Sophos;i="5.90,153,1643702400"; d="scan'208";a="314591683" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2022 18:43:41 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,153,1643702400"; d="scan'208";a="640437526" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga002.fm.intel.com with ESMTP; 03 Mar 2022 18:43:41 -0800 Received: from gnu-clx-1.sc.intel.com (gnu-clx-1.sc.intel.com [172.25.70.216]) by scymds01.sc.intel.com with ESMTP id 2242hf05030346; Thu, 3 Mar 2022 18:43:41 -0800 Received: by gnu-clx-1.sc.intel.com (Postfix, from userid 1000) id 641983E001E; Thu, 3 Mar 2022 18:43:41 -0800 (PST) Date: Thu, 03 Mar 2022 18:43:41 -0800 To: skpgkp2@gmail.com, hjl.tools@gmail.com, gcc-regression@gcc.gnu.org Subject: Regressions on native/master at commit r12-7471 vs commit r12-7467 on Linux/x86_64 User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20220304024341.641983E001E@gnu-clx-1.sc.intel.com> From: "H. J. Lu" X-Spam-Status: No, score=-3465.6 required=5.0 testsºYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, KAM_NUMSUBJECT, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no 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-regression@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-regression mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Mar 2022 02:43:57 -0000 New failures: FAIL: g++.dg/warn/Wstringop-overflow-6.C -std=gnu++20 (test for excess errors) FAIL: g++.dg/warn/Wstringop-overflow-6.C -std=gnu++20 (test for excess errors) FAIL: g++.dg/warn/Wstringop-overflow-6.C -std=gnu++20 (test for excess errors) New passes: