From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) by sourceware.org (Postfix) with ESMTP id 174E33858C27 for ; Sun, 25 Dec 2022 19:29:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 174E33858C27 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org Received: by smtp.gentoo.org (Postfix, from userid 559) id 9E68C3410BD; Sun, 25 Dec 2022 19:29:44 +0000 (UTC) From: Mike Frysinger To: gdb-patches@sourceware.org Subject: [PATCH 5/8] sim: mips: hoist "single" igen rules up to common builds Date: Sun, 25 Dec 2022 14:28:49 -0500 Message-Id: <20221225192852.1940-5-vapier@gentoo.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20221225192852.1940-1-vapier@gentoo.org> References: <20221225072831.18760-1-vapier@gentoo.org> <20221225192852.1940-1-vapier@gentoo.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,UNWANTED_LANGUAGE_BODY 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: --- sim/Makefile.in | 108 ++++++++++++++++++++++++++++++------------ sim/configure | 18 ++++++- sim/mips/Makefile.in | 49 +------------------ sim/mips/acinclude.m4 | 1 + sim/mips/local.mk | 50 +++++++++++++++++++ 5 files changed, 147 insertions(+), 79 deletions(-) diff --git a/sim/mips/Makefile.in b/sim/mips/Makefile.in index d9b489858c54..247208fea5cc 100644 --- a/sim/mips/Makefile.in +++ b/sim/mips/Makefile.in @@ -86,56 +86,10 @@ IGEN_INCLUDE=\ $(srcdir)/mips3264r2.igen \ $(srcdir)/mips3264r6.igen \ -SIM_SINGLE_ALL = tmp-single +SIM_SINGLE_ALL = SIM_M16_ALL = tmp-m16 SIM_MULTI_ALL = tmp-multi -BUILT_SRC_FROM_SINGLE = \ - icache.h \ - icache.c \ - idecode.h \ - idecode.c \ - semantics.h \ - semantics.c \ - model.h \ - model.c \ - support.h \ - support.c \ - engine.h \ - engine.c \ - irun.c \ - -$(BUILT_SRC_FROM_SINGLE): tmp-single - -tmp-single: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) - $(ECHO_IGEN) $(IGEN_RUN) \ - $(IGEN_TRACE) \ - -I $(srcdir) \ - -Werror \ - -Wnodiscard \ - $(SIM_MIPS_SINGLE_FLAGS) \ - -G gen-direct-access \ - -G gen-zero-r0 \ - -B 32 \ - -H 31 \ - -i $(IGEN_INSN) \ - -o $(IGEN_DC) \ - -x \ - -n icache.h -hc icache.h \ - -n icache.c -c icache.c \ - -n semantics.h -hs semantics.h \ - -n semantics.c -s semantics.c \ - -n idecode.h -hd idecode.h \ - -n idecode.c -d idecode.c \ - -n model.h -hm model.h \ - -n model.c -m model.c \ - -n support.h -hf support.h \ - -n support.c -f support.c \ - -n engine.h -he engine.h \ - -n engine.c -e engine.c \ - -n irun.c -r irun.c - $(SILENCE) touch $@ - BUILT_SRC_FROM_M16 = \ m16_icache.h \ m16_icache.c \ @@ -303,7 +257,6 @@ tmp-run-multi: $(srcdir)/m16run.c $(srcdir)/micromipsrun.c $(SILENCE) touch $@ clean-extra: - rm -f $(BUILT_SRC_FROM_SINGLE) rm -f $(BUILT_SRC_FROM_M16) rm -f $(BUILT_SRC_FROM_MULTI) rm -f tmp-* diff --git a/sim/mips/acinclude.m4 b/sim/mips/acinclude.m4 index 111dd87618e3..313e40b150bc 100644 --- a/sim/mips/acinclude.m4 +++ b/sim/mips/acinclude.m4 @@ -333,3 +333,4 @@ AC_SUBST(SIM_MIPS_IGEN_ITABLE_FLAGS) AC_SUBST(SIM_MIPS_MULTI_IGEN_CONFIGS) AC_SUBST(SIM_MIPS_MULTI_SRC) AC_SUBST(SIM_MIPS_MULTI_OBJ) +AM_CONDITIONAL([SIM_MIPS_GEN_MODE_SINGLE], [test "$SIM_MIPS_GEN" = "SINGLE"]) diff --git a/sim/mips/local.mk b/sim/mips/local.mk index beed8f28a169..0a6f1da1a462 100644 --- a/sim/mips/local.mk +++ b/sim/mips/local.mk @@ -30,14 +30,34 @@ AM_MAKEFLAGS += %C%_SIM_EXTRA_HW_DEVICES="$(%C%_SIM_EXTRA_HW_DEVICES)" %C%_BUILT_SRC_FROM_IGEN_ITABLE = \ %D%/itable.h \ %D%/itable.c +%C%_BUILT_SRC_FROM_GEN_MODE_SINGLE = \ + %D%/icache.h \ + %D%/icache.c \ + %D%/idecode.h \ + %D%/idecode.c \ + %D%/semantics.h \ + %D%/semantics.c \ + %D%/model.h \ + %D%/model.c \ + %D%/support.h \ + %D%/support.c \ + %D%/engine.h \ + %D%/engine.c \ + %D%/irun.c %C%_BUILD_OUTPUTS = \ $(%C%_BUILT_SRC_FROM_IGEN_ITABLE) \ %D%/stamp-igen-itable +if SIM_MIPS_GEN_MODE_SINGLE +%C%_BUILD_OUTPUTS += \ + $(%C%_BUILT_SRC_FROM_GEN_MODE_SINGLE) \ + %D%/stamp-gen-mode-single +endif ## This makes sure build tools are available before building the arch-subdirs. SIM_ALL_RECURSIVE_DEPS += $(%C%_BUILD_OUTPUTS) $(%C%_BUILT_SRC_FROM_IGEN_ITABLE): %D%/stamp-igen-itable +$(%C%_BUILT_SRC_FROM_GEN_MODE_SINGLE): %D%/stamp-gen-mode-single %C%_IGEN_TRACE = # -G omit-line-numbers # -G trace-rule-selection -G trace-rule-rejection -G trace-entries # -G trace-all %C%_IGEN_INSN = $(srcdir)/%D%/mips.igen @@ -55,6 +75,7 @@ $(%C%_BUILT_SRC_FROM_IGEN_ITABLE): %D%/stamp-igen-itable %D%/sb1.igen \ %D%/tx.igen \ %D%/vr.igen +%C%_IGEN_DC = $(srcdir)/%D%/mips.dc ## NB: Since these can be built by a number of generators, care ## must be taken to ensure that they are only dependant on @@ -75,6 +96,35 @@ $(%C%_BUILT_SRC_FROM_IGEN_ITABLE): %D%/stamp-igen-itable -n itable.c -t %D%/itable.c $(AM_V_at)touch $@ +%D%/stamp-gen-mode-single: $(%C%_IGEN_INSN) $(%C%_IGEN_INSN_INC) $(%C%_IGEN_DC) $(IGEN) + $(AM_V_GEN)$(IGEN_RUN) \ + $(%C%_IGEN_TRACE) \ + -I $(srcdir)/%D% \ + -Werror \ + -Wnodiscard \ + $(SIM_MIPS_SINGLE_FLAGS) \ + -G gen-direct-access \ + -G gen-zero-r0 \ + -B 32 \ + -H 31 \ + -i $(%C%_IGEN_INSN) \ + -o $(%C%_IGEN_DC) \ + -x \ + -n icache.h -hc %D%/icache.h \ + -n icache.c -c %D%/icache.c \ + -n semantics.h -hs %D%/semantics.h \ + -n semantics.c -s %D%/semantics.c \ + -n idecode.h -hd %D%/idecode.h \ + -n idecode.c -d %D%/idecode.c \ + -n model.h -hm %D%/model.h \ + -n model.c -m %D%/model.c \ + -n support.h -hf %D%/support.h \ + -n support.c -f %D%/support.c \ + -n engine.h -he %D%/engine.h \ + -n engine.c -e %D%/engine.c \ + -n irun.c -r %D%/irun.c + $(AM_V_at)touch $@ + MOSTLYCLEANFILES += $(%C%_BUILD_OUTPUTS) ## These are created by mips/acinclude.m4 during configure time. DISTCLEANFILES += %D%/multi-include.h %D%/multi-run.c -- 2.39.0