From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from csb.redhat.com (gnu.wildebeest.org [45.83.234.184]) by sourceware.org (Postfix) with ESMTPS id 263393858D1E for ; Sat, 14 Jan 2023 23:28:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 263393858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=klomp.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=klomp.org Received: by csb.redhat.com (Postfix, from userid 10916) id 442FECB9DF; Sun, 15 Jan 2023 00:28:24 +0100 (CET) From: Mark Wielaard To: gdb-patches@sourceware.org Cc: Sam James , Mike Frysinger , Mark Wielaard Subject: [PATCH] sim: common, microblaze, mn10300: handle signal.h defining REC_PC. Date: Sun, 15 Jan 2023 00:28:05 +0100 Message-Id: <20230114232805.827713-1-mark@klomp.org> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3038.1 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,KAM_SHORT,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: signal.h isn't needed in microblaze and mn10300 interp.c so don't include it. In common sim-events.c, sim-signal.c, nrun.c and dv-sockser.c we do need signal.h, but check whether REG_PC is defined (and then undefine it) before including the sim headers. It breaks the build on sparc because signal.h indirectly includes /usr/include/sys/ucontext.h and defines REG_PC, which is also defined in microblaze-opcm.h --- sim/common/dv-sockser.c | 6 ++++++ sim/common/nrun.c | 6 ++++++ sim/common/sim-events.c | 6 ++++++ sim/common/sim-signal.c | 6 ++++++ sim/microblaze/interp.c | 1 - sim/mn10300/interp.c | 2 -- 6 files changed, 24 insertions(+), 3 deletions(-) diff --git a/sim/common/dv-sockser.c b/sim/common/dv-sockser.c index fba2775f2e8..db6ab8fc4be 100644 --- a/sim/common/dv-sockser.c +++ b/sim/common/dv-sockser.c @@ -39,6 +39,12 @@ along with this program. If not, see . */ #include #include +/* signal.h might indirectly have defined some REG_ macros + which are also defined in the sim headers. */ +#ifdef REG_PC +#undef REG_PC +#endif + #include "sim-main.h" #include "sim-assert.h" #include "sim-options.h" diff --git a/sim/common/nrun.c b/sim/common/nrun.c index 4c011627bb8..6ad2b19fb0d 100644 --- a/sim/common/nrun.c +++ b/sim/common/nrun.c @@ -29,6 +29,12 @@ along with this program. If not, see . */ #include "bfd.h" #include "environ.h" +/* signal.h might indirectly have defined some REG_ macros + which are also defined in the sim headers. */ +#ifdef REG_PC +#undef REG_PC +#endif + #include "sim-main.h" #include "sim-signal.h" #include "sim/callback.h" diff --git a/sim/common/sim-events.c b/sim/common/sim-events.c index e2afe2be6c5..ce3a5dc1652 100644 --- a/sim/common/sim-events.c +++ b/sim/common/sim-events.c @@ -33,6 +33,12 @@ #include "libiberty.h" +/* signal.h might indirectly have defined some REG_ macros + which are also defined in the sim headers. */ +#ifdef REG_PC +#undef REG_PC +#endif + #include "sim-main.h" #include "sim-assert.h" #include "sim-cpu.h" diff --git a/sim/common/sim-signal.c b/sim/common/sim-signal.c index 9c4e261fa21..94d5d9d51c9 100644 --- a/sim/common/sim-signal.c +++ b/sim/common/sim-signal.c @@ -22,6 +22,12 @@ along with this program. If not, see . */ #include +/* signal.h might indirectly have defined some REG_ macros + which are also defined in the sim headers. */ +#ifdef REG_PC +#undef REG_PC +#endif + #include "sim-main.h" #include "sim-signal.h" diff --git a/sim/microblaze/interp.c b/sim/microblaze/interp.c index a4f505e77a8..f53c1d7d65b 100644 --- a/sim/microblaze/interp.c +++ b/sim/microblaze/interp.c @@ -19,7 +19,6 @@ /* This must come before any other includes. */ #include "defs.h" -#include #include #include #include diff --git a/sim/mn10300/interp.c b/sim/mn10300/interp.c index 2915551253f..07c3b8c900f 100644 --- a/sim/mn10300/interp.c +++ b/sim/mn10300/interp.c @@ -1,8 +1,6 @@ /* This must come before any other includes. */ #include "defs.h" -#include - #include "sim-main.h" #include "sim-options.h" #include "sim-hw.h" -- 2.31.1