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
next 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).