public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier@gentoo.org>
To: gdb-patches@sourceware.org
Subject: [PATCH 1/3] sim: cgen: unify the genmloop logic a bit
Date: Tue, 19 Dec 2023 20:23:52 -0500	[thread overview]
Message-ID: <20231220012354.15032-1-vapier@gentoo.org> (raw)

Pull out the common parts of the genmloop invocation into the common
code.  This will make it easier to add more, and make the per-port
differences a little more obvious.
---
 sim/Makefile.in     | 68 +++++++++++++++++++++------------------------
 sim/common/local.mk |  5 ++++
 sim/cris/local.mk   | 14 ++++------
 sim/frv/local.mk    |  7 ++---
 sim/iq2000/local.mk |  7 ++---
 sim/lm32/local.mk   |  7 ++---
 sim/m32r/local.mk   | 21 ++++++--------
 sim/or1k/local.mk   |  7 ++---
 8 files changed, 64 insertions(+), 72 deletions(-)

diff --git a/sim/common/local.mk b/sim/common/local.mk
index 08da2275b7dc..8124910ea182 100644
--- a/sim/common/local.mk
+++ b/sim/common/local.mk
@@ -232,3 +232,8 @@ CGEN_GEN_CPU_DESC = \
 		$(CGEN) $(cgendir) "$(CGENFLAGS)" \
 		$(@D) "$$FLAGS" $$cpu "$$isa" $$mach "$$SUFFIX" \
 		$(CGEN_ARCHFILE) ignored $$opcfile
+
+CGEN_GEN_MLOOP = \
+	$(SHELL) $(srccom)/genmloop.sh \
+		-shell $(SHELL) \
+		-infile $< -outfile-prefix $(@D)/
diff --git a/sim/cris/local.mk b/sim/cris/local.mk
index 66ebc99376c4..011f8029e49f 100644
--- a/sim/cris/local.mk
+++ b/sim/cris/local.mk
@@ -91,11 +91,10 @@ BUILT_SOURCES += \
 ## FIXME: What is mono and what does "Use of `mono' is wip" mean (other
 ## than the apparent; some "mono" feature is work in progress)?
 %D%/mloopv10f.c %D%/engv10.h: %D%/stamp-mloop-v10f ; @true
-%D%/stamp-mloop-v10f: $(srccom)/genmloop.sh %D%/mloop.in
-	$(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \
+%D%/stamp-mloop-v10f: %D%/mloop.in $(srccom)/genmloop.sh
+	$(AM_V_GEN)$(CGEN_GEN_MLOOP) \
 		-mono -no-fast -pbb -switch semcrisv10f-switch.c \
-		-cpu crisv10f \
-		-infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/ -outfile-suffix -v10f
+		-cpu crisv10f -outfile-suffix -v10f
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng-v10f.hin %D%/engv10.h
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop-v10f.cin %D%/mloopv10f.c
 	$(AM_V_at)touch $@
@@ -103,11 +102,10 @@ BUILT_SOURCES += \
 ## FIXME: What is mono and what does "Use of `mono' is wip" mean (other
 ## than the apparent; some "mono" feature is work in progress)?
 %D%/mloopv32f.c %D%/engv32.h: %D%/stamp-mloop-v32f ; @true
-%D%/stamp-mloop-v32f: $(srccom)/genmloop.sh %D%/mloop.in
-	$(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \
+%D%/stamp-mloop-v32f: %D%/mloop.in $(srccom)/genmloop.sh
+	$(AM_V_GEN)$(CGEN_GEN_MLOOP) \
 		-mono -no-fast -pbb -switch semcrisv32f-switch.c \
-		-cpu crisv32f \
-		-infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/ -outfile-suffix -v32f
+		-cpu crisv32f -outfile-suffix -v32f
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng-v32f.hin %D%/engv32.h
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop-v32f.cin %D%/mloopv32f.c
 	$(AM_V_at)touch $@
diff --git a/sim/frv/local.mk b/sim/frv/local.mk
index e4940398fd76..287633b4f4c9 100644
--- a/sim/frv/local.mk
+++ b/sim/frv/local.mk
@@ -91,11 +91,10 @@ BUILT_SOURCES += %D%/eng.h
 
 ## FIXME: Use of `mono' is wip.
 %D%/mloop.c %D%/eng.h: %D%/stamp-mloop ; @true
-%D%/stamp-mloop: $(srccom)/genmloop.sh %D%/mloop.in
-	$(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \
+%D%/stamp-mloop: %D%/mloop.in $(srccom)/genmloop.sh
+	$(AM_V_GEN)$(CGEN_GEN_MLOOP) \
 		-mono -scache -parallel-generic-write -parallel-only \
-		-cpu frvbf \
-		-infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/
+		-cpu frvbf
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng.hin %D%/eng.h
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop.cin %D%/mloop.c
 	$(AM_V_at)touch $@
diff --git a/sim/iq2000/local.mk b/sim/iq2000/local.mk
index 99649ec7ad0c..9ed30f3a9bcf 100644
--- a/sim/iq2000/local.mk
+++ b/sim/iq2000/local.mk
@@ -67,11 +67,10 @@ BUILT_SOURCES += %D%/eng.h
 
 ## FIXME: Use of `mono' is wip.
 %D%/mloop.c %D%/eng.h: %D%/stamp-mloop ; @true
-%D%/stamp-mloop: $(srccom)/genmloop.sh %D%/mloop.in
-	$(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \
+%D%/stamp-mloop: %D%/mloop.in $(srccom)/genmloop.sh
+	$(AM_V_GEN)$(CGEN_GEN_MLOOP) \
 		-mono -fast -pbb -switch sem-switch.c \
-		-cpu iq2000bf \
-		-infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/
+		-cpu iq2000bf
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng.hin %D%/eng.h
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop.cin %D%/mloop.c
 	$(AM_V_at)touch $@
diff --git a/sim/lm32/local.mk b/sim/lm32/local.mk
index 917e6bb42ea6..11c6b10ff0c5 100644
--- a/sim/lm32/local.mk
+++ b/sim/lm32/local.mk
@@ -72,11 +72,10 @@ BUILT_SOURCES += %D%/eng.h
 
 ## FIXME: Use of `mono' is wip.
 %D%/mloop.c %D%/eng.h: %D%/stamp-mloop ; @true
-%D%/stamp-mloop: $(srccom)/genmloop.sh %D%/mloop.in
-	$(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \
+%D%/stamp-mloop: %D%/mloop.in $(srccom)/genmloop.sh
+	$(AM_V_GEN)$(CGEN_GEN_MLOOP) \
 		-mono -fast -pbb -switch sem-switch.c \
-		-cpu lm32bf \
-		-infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/
+		-cpu lm32bf
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng.hin %D%/eng.h
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop.cin %D%/mloop.c
 	$(AM_V_at)touch $@
diff --git a/sim/m32r/local.mk b/sim/m32r/local.mk
index 13f6ea5f9570..3bec547cb253 100644
--- a/sim/m32r/local.mk
+++ b/sim/m32r/local.mk
@@ -94,33 +94,30 @@ BUILT_SOURCES += \
 
 ## FIXME: Use of `mono' is wip.
 %D%/mloop.c %D%/eng.h: %D%/stamp-mloop ; @true
-%D%/stamp-mloop: $(srccom)/genmloop.sh %D%/mloop.in
-	$(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \
+%D%/stamp-mloop: %D%/mloop.in $(srccom)/genmloop.sh
+	$(AM_V_GEN)$(CGEN_GEN_MLOOP) \
 		-mono -fast -pbb -switch sem-switch.c \
-		-cpu m32rbf \
-		-infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/
+		-cpu m32rbf
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng.hin %D%/eng.h
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop.cin %D%/mloop.c
 	$(AM_V_at)touch $@
 
 ## FIXME: Use of `mono' is wip.
 %D%/mloopx.c %D%/engx.h: %D%/stamp-mloop-x ; @true
-%D%/stamp-mloop-x: $(srccom)/genmloop.sh %D%/mloopx.in
-	$(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \
+%D%/stamp-mloop-x: %D%/mloopx.in $(srccom)/genmloop.sh
+	$(AM_V_GEN)$(CGEN_GEN_MLOOP) \
 		-mono -no-fast -pbb -parallel-write -switch semx-switch.c \
-		-cpu m32rxf \
-		-infile $(srcdir)/%D%/mloopx.in -outfile-prefix %D%/ -outfile-suffix x
+		-cpu m32rxf -outfile-suffix x
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/engx.hin %D%/engx.h
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloopx.cin %D%/mloopx.c
 	$(AM_V_at)touch $@
 
 ## FIXME: Use of `mono' is wip.
 %D%/mloop2.c %D%/eng2.h: %D%/stamp-mloop-2 ; @true
-%D%/stamp-mloop-2: $(srccom)/genmloop.sh %D%/mloop2.in
-	$(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \
+%D%/stamp-mloop-2: %D%/mloop2.in $(srccom)/genmloop.sh
+	$(AM_V_GEN)$(CGEN_GEN_MLOOP) \
 		-mono -no-fast -pbb -parallel-write -switch sem2-switch.c \
-		-cpu m32r2f \
-		-infile $(srcdir)/%D%/mloop2.in -outfile-prefix %D%/ -outfile-suffix 2
+		-cpu m32r2f -outfile-suffix 2
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng2.hin %D%/eng2.h
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop2.cin %D%/mloop2.c
 	$(AM_V_at)touch $@
diff --git a/sim/or1k/local.mk b/sim/or1k/local.mk
index cb48f821dcf1..979e0e349043 100644
--- a/sim/or1k/local.mk
+++ b/sim/or1k/local.mk
@@ -74,11 +74,10 @@ BUILT_SOURCES += %D%/eng.h
 
 ## FIXME: Use of `mono' is wip.
 %D%/mloop.c %D%/eng.h: %D%/stamp-mloop ; @true
-%D%/stamp-mloop: $(srccom)/genmloop.sh %D%/mloop.in
-	$(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \
+%D%/stamp-mloop: %D%/mloop.in $(srccom)/genmloop.sh
+	$(AM_V_GEN)$(CGEN_GEN_MLOOP) \
 		-mono -fast -pbb -switch sem-switch.c \
-		-cpu or1k32bf \
-		-infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/
+		-cpu or1k32bf
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng.hin %D%/eng.h
 	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop.cin %D%/mloop.c
 	$(AM_V_at)touch $@
-- 
2.43.0


             reply	other threads:[~2023-12-20  1:23 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-20  1:23 Mike Frysinger [this message]
2023-12-20  1:23 ` [PATCH 2/3] sim: common: add $LINENO rewriting support to genmloop scripts Mike Frysinger
2023-12-20  1:23 ` [PATCH 3/3] sim: mloop: add #line pragmas everywhere Mike Frysinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231220012354.15032-1-vapier@gentoo.org \
    --to=vapier@gentoo.org \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).