opcodes: cris: move desc & opc files from sim/

Message ID YKU684CxYwqzOhvG@vapier
State New
Headers show
Series
  • opcodes: cris: move desc & opc files from sim/
Related show

Commit Message

Libor Bukata via Binutils May 19, 2021, 4:21 p.m.
All other cgen ports keep their desc & opc files under opcodes/, so
move the cris files over too.  The cris-opc.c file is already here.
---
 opcodes/Makefile.am               | 14 +++++++++++++-
 opcodes/Makefile.in               | 15 ++++++++++++++-
 {sim/cris => opcodes}/cris-desc.c |  0
 {sim/cris => opcodes}/cris-desc.h |  0
 {sim/cris => opcodes}/cris-opc.h  |  0
 sim/cris/Makefile.in              | 16 ++++------------
 6 files changed, 31 insertions(+), 14 deletions(-)
 rename {sim/cris => opcodes}/cris-desc.c (100%)
 rename {sim/cris => opcodes}/cris-desc.h (100%)
 rename {sim/cris => opcodes}/cris-opc.h (100%)

-- 
2.31.1


----- End forwarded message -----

Comments

Libor Bukata via Binutils May 19, 2021, 9:26 p.m. | #1
> From: Mike Frysinger via Binutils <binutils@sourceware.org>

> Date: Wed, 19 May 2021 18:21:07 +0200


> All other cgen ports keep their desc & opc files under opcodes/, so

> move the cris files over too.  The cris-opc.c file is already here.


Unline (most) other CGEN ports, the assembler and
disassembler isn't generated from the CGEN description.  But
that's not a reason to keep it different in this regard.

Ok with the appropriate opcodes/ChangeLog entry.  Thanks!

brgds, H-P
Libor Bukata via Binutils May 19, 2021, 11:38 p.m. | #2
On 19 May 2021 23:32, Hans-Peter Nilsson wrote:
> > From: Hans-Peter Nilsson <Hans-Peter.Nilsson@axis.com>

> > Date: Wed, 19 May 2021 23:26:26 +0200

> 

> > > From: Mike Frysinger via Binutils <binutils@sourceware.org>

> > > Date: Wed, 19 May 2021 18:21:07 +0200

> > 

> > > All other cgen ports keep their desc & opc files under opcodes/, so

> > > move the cris files over too.  The cris-opc.c file is already here.

> > 

> > Unline (most) other CGEN ports, the assembler and

> > disassembler isn't generated from the CGEN description.  But

> > that's not a reason to keep it different in this regard.

> > 

> > Ok with the appropriate opcodes/ChangeLog entry.  Thanks!

> 

> No, wait, NOT ok: cris-opc.c isn't CGEN-generated.  Please

> fix so it isn't "regenerated".


you want me to delete the cris cgen rule entirely ?
-mike
Libor Bukata via Binutils May 19, 2021, 11:48 p.m. | #3
> From: Mike Frysinger <vapier@gentoo.org>

> Date: Thu, 20 May 2021 01:38:58 +0200


> On 19 May 2021 23:32, Hans-Peter Nilsson wrote:

> > > From: Hans-Peter Nilsson <Hans-Peter.Nilsson@axis.com>

> > > Date: Wed, 19 May 2021 23:26:26 +0200

> > 

> > > > From: Mike Frysinger via Binutils <binutils@sourceware.org>

> > > > Date: Wed, 19 May 2021 18:21:07 +0200

> > > 

> > > > All other cgen ports keep their desc & opc files under opcodes/, so

> > > > move the cris files over too.  The cris-opc.c file is already here.

> > > 

> > > Unline (most) other CGEN ports, the assembler and

> > > disassembler isn't generated from the CGEN description.  But

> > > that's not a reason to keep it different in this regard.

> > > 

> > > Ok with the appropriate opcodes/ChangeLog entry.  Thanks!

> > 

> > No, wait, NOT ok: cris-opc.c isn't CGEN-generated.  Please

> > fix so it isn't "regenerated".

> 

> you want me to delete the cris cgen rule entirely ?


"No" if you mean removing the regeneration rule for the
CGEN-generated CRIS files of course.

But, if you want to move the CRIS CGEN files to opcodes/,
there must be precautions to not overwrite the cris-opc.c
there.

brgds, H-P
Libor Bukata via Binutils May 20, 2021, 5:18 a.m. | #4
On 20 May 2021 01:48, Hans-Peter Nilsson wrote:
> From: Mike Frysinger <vapier@gentoo.org>

> > On 19 May 2021 23:32, Hans-Peter Nilsson wrote:

> > > From: Hans-Peter Nilsson <Hans-Peter.Nilsson@axis.com>

> > > > From: Mike Frysinger via Binutils <binutils@sourceware.org>

> > > > > All other cgen ports keep their desc & opc files under opcodes/, so

> > > > > move the cris files over too.  The cris-opc.c file is already here.

> > > > 

> > > > Unline (most) other CGEN ports, the assembler and

> > > > disassembler isn't generated from the CGEN description.  But

> > > > that's not a reason to keep it different in this regard.

> > > > 

> > > > Ok with the appropriate opcodes/ChangeLog entry.  Thanks!

> > > 

> > > No, wait, NOT ok: cris-opc.c isn't CGEN-generated.  Please

> > > fix so it isn't "regenerated".

> > 

> > you want me to delete the cris cgen rule entirely ?

> 

> "No" if you mean removing the regeneration rule for the

> CGEN-generated CRIS files of course.

> 

> But, if you want to move the CRIS CGEN files to opcodes/,

> there must be precautions to not overwrite the cris-opc.c

> there.


from what i can tell, the opcodes/ script has no support for only generating
a single file.  it wants to do them all.  so you want me to pull the desc
logic out of sim/common/cgen.sh and into opcodes/cgen.sh so that cris can run
that logic ?

it's hard to test as the cris cgen rules fail for me even now with syntax
errors in the scm files.
-mike
Libor Bukata via Binutils May 23, 2021, 3:55 a.m. | #5
On 20 May 2021 15:21, Hans-Peter Nilsson wrote:
> From: Mike Frysinger <vapier@gentoo.org>

> > On 20 May 2021 01:48, Hans-Peter Nilsson wrote:

> > > From: Mike Frysinger <vapier@gentoo.org>

> > > > On 19 May 2021 23:32, Hans-Peter Nilsson wrote:

> > > > > From: Hans-Peter Nilsson <Hans-Peter.Nilsson@axis.com>

> > > > > > From: Mike Frysinger via Binutils <binutils@sourceware.org>

> > > > > > > All other cgen ports keep their desc & opc files under opcodes/, so

> > > > > > > move the cris files over too.  The cris-opc.c file is already here.

> > > > > > 

> > > > > > Unline (most) other CGEN ports, the assembler and

> > > > > > disassembler isn't generated from the CGEN description.  But

> > > > > > that's not a reason to keep it different in this regard.

> > > > > > 

> > > > > > Ok with the appropriate opcodes/ChangeLog entry.  Thanks!

> > > > > 

> > > > > No, wait, NOT ok: cris-opc.c isn't CGEN-generated.  Please

> > > > > fix so it isn't "regenerated".

> > > > 

> > > > you want me to delete the cris cgen rule entirely ?

> > > 

> > > "No" if you mean removing the regeneration rule for the

> > > CGEN-generated CRIS files of course.

> > > 

> > > But, if you want to move the CRIS CGEN files to opcodes/,

> > > there must be precautions to not overwrite the cris-opc.c

> > > there.

> > 

> > from what i can tell, the opcodes/ script has no support for only generating

> > a single file.  it wants to do them all.  so you want me to pull the desc

> > logic out of sim/common/cgen.sh and into opcodes/cgen.sh so that cris can run

> > that logic ?

> 

> I want you to do something, if anything, that works for CRIS

> sim *and* binutils.  If your suggestion is sane to you, then

> perhaps yes, but as the CGEN files aren't used for CRIS

> binutils, leaving things as they are in sim may be even

> simpler.


the desc & opc files are tightly coupled with the BFD & opcodes APIs.
they break with changes i'm trying to make to sim.  they need to get
moved out.

> > it's hard to test as the cris cgen rules fail for me even now with syntax

> > errors in the scm files.

> 

> Badness.  CGEN as in using sim/common/cgen.sh?  Is there an

> issue entered in bugzilla?  I guess someone has been naughty

> and didn't test a CGEN change properly.


seems like it's the opposite.  cgen is stuck on guile-1.8 even though
distros have moved on to 2.0+.
-mike

Patch

diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am
index 04980f36b113..2d6c6b8c1e93 100644
--- a/opcodes/Makefile.am
+++ b/opcodes/Makefile.am
@@ -60,6 +60,7 @@  BUILD_LIB_DEPS = @BUILD_LIB_DEPS@
 HFILES = \
 	aarch64-asm.h aarch64-dis.h aarch64-opc.h aarch64-tbl.h \
 	bpf-desc.h bpf-opc.h \
+	cris-desc.h cris-opc.h \
 	epiphany-desc.h epiphany-opc.h \
 	fr30-desc.h fr30-opc.h \
 	frv-desc.h frv-opc.h \
@@ -108,6 +109,7 @@  TARGET_LIBOPCODES_CFILES = \
 	cgen-opc.c \
 	cr16-dis.c \
 	cr16-opc.c \
+	cris-desc.c \
 	cris-dis.c \
 	cris-opc.c \
 	crx-dis.c \
@@ -371,10 +373,11 @@  CGENDEPS = \
 	$(CGENDIR)/opc-opinst.scm \
 	cgen-asm.in cgen-dis.in cgen-ibld.in
 
-CGEN_CPUS = epiphany fr30 frv ip2k iq2000 lm32 m32c m32r mep mt or1k xc16x xstormy16
+CGEN_CPUS = cris epiphany fr30 frv ip2k iq2000 lm32 m32c m32r mep mt or1k xc16x xstormy16
 
 if CGEN_MAINT
 BPF_DEPS = stamp-bpf
+CRIS_DEPS = stamp-cris
 EPIPHANY_DEPS = stamp-epiphany
 FR30_DEPS = stamp-fr30
 FRV_DEPS = stamp-frv
@@ -390,6 +393,7 @@  XC16X_DEPS = stamp-xc16x
 XSTORMY16_DEPS = stamp-xstormy16
 else
 BPF_DEPS =
+CRIS_DEPS =
 EPIPHANY_DEPS =
 FR30_DEPS =
 FRV_DEPS =
@@ -431,6 +435,14 @@  stamp-bpf: $(CGENDEPS) $(CPUDIR)/bpf.cpu $(CPUDIR)/bpf.opc
 	$(MAKE) run-cgen arch=bpf prefix=bpf \
 		archfile=$(CPUDIR)/bpf.cpu opcfile=$(CPUDIR)/bpf.opc
 
+$(srcdir)/cris-desc.h $(srcdir)/cris-desc.c $(srcdir)/cris-opc.h \
+		$(srcdir)/cris-opc.c $(srcdir)/cris-dis.c: $(CRIS_DEPS)
+	@true
+
+stamp-cris: $(CGENDEPS) $(CPUDIR)/cris.cpu
+	$(MAKE) run-cgen arch=cris prefix=cris \
+		archfile=$(CPUDIR)/cris.cpu
+
 $(srcdir)/epiphany-desc.h $(srcdir)/epiphany-desc.c $(srcdir)/epiphany-opc.h \
 		$(srcdir)/epiphany-opc.c $(srcdir)/epiphany-ibld.c \
 		$(srcdir)/epiphany-opinst.c $(srcdir)/epiphany-asm.c \
diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in
index b2965ba70cd0..1a51190c1ab5 100644
--- a/opcodes/Makefile.in
+++ b/opcodes/Makefile.in
@@ -450,6 +450,7 @@  BFD_H = ../bfd/bfd.h
 HFILES = \
 	aarch64-asm.h aarch64-dis.h aarch64-opc.h aarch64-tbl.h \
 	bpf-desc.h bpf-opc.h \
+	cris-desc.h cris-opc.h \
 	epiphany-desc.h epiphany-opc.h \
 	fr30-desc.h fr30-opc.h \
 	frv-desc.h frv-opc.h \
@@ -499,6 +500,7 @@  TARGET_LIBOPCODES_CFILES = \
 	cgen-opc.c \
 	cr16-dis.c \
 	cr16-opc.c \
+	cris-desc.c \
 	cris-dis.c \
 	cris-opc.c \
 	crx-dis.c \
@@ -729,9 +731,11 @@  CGENDEPS = \
 	$(CGENDIR)/opc-opinst.scm \
 	cgen-asm.in cgen-dis.in cgen-ibld.in
 
-CGEN_CPUS = epiphany fr30 frv ip2k iq2000 lm32 m32c m32r mep mt or1k xc16x xstormy16
+CGEN_CPUS = cris epiphany fr30 frv ip2k iq2000 lm32 m32c m32r mep mt or1k xc16x xstormy16
 @CGEN_MAINT_FALSE@BPF_DEPS = 
 @CGEN_MAINT_TRUE@BPF_DEPS = stamp-bpf
+@CGEN_MAINT_FALSE@CRIS_DEPS = 
+@CGEN_MAINT_TRUE@CRIS_DEPS = stamp-cris
 @CGEN_MAINT_FALSE@EPIPHANY_DEPS = 
 @CGEN_MAINT_TRUE@EPIPHANY_DEPS = stamp-epiphany
 @CGEN_MAINT_FALSE@FR30_DEPS = 
@@ -915,6 +919,7 @@  distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cgen-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cr16-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cr16-opc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cris-desc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cris-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cris-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crx-dis.Plo@am__quote@
@@ -1417,6 +1422,14 @@  stamp-bpf: $(CGENDEPS) $(CPUDIR)/bpf.cpu $(CPUDIR)/bpf.opc
 	$(MAKE) run-cgen arch=bpf prefix=bpf \
 		archfile=$(CPUDIR)/bpf.cpu opcfile=$(CPUDIR)/bpf.opc
 
+$(srcdir)/cris-desc.h $(srcdir)/cris-desc.c $(srcdir)/cris-opc.h \
+		$(srcdir)/cris-opc.c $(srcdir)/cris-dis.c: $(CRIS_DEPS)
+	@true
+
+stamp-cris: $(CGENDEPS) $(CPUDIR)/cris.cpu
+	$(MAKE) run-cgen arch=cris prefix=cris \
+		archfile=$(CPUDIR)/cris.cpu
+
 $(srcdir)/epiphany-desc.h $(srcdir)/epiphany-desc.c $(srcdir)/epiphany-opc.h \
 		$(srcdir)/epiphany-opc.c $(srcdir)/epiphany-ibld.c \
 		$(srcdir)/epiphany-opinst.c $(srcdir)/epiphany-asm.c \
diff --git a/sim/cris/cris-desc.c b/opcodes/cris-desc.c
similarity index 100%
rename from sim/cris/cris-desc.c
rename to opcodes/cris-desc.c
diff --git a/sim/cris/cris-desc.h b/opcodes/cris-desc.h
similarity index 100%
rename from sim/cris/cris-desc.h
rename to opcodes/cris-desc.h
diff --git a/sim/cris/cris-opc.h b/opcodes/cris-opc.h
similarity index 100%
rename from sim/cris/cris-opc.h
rename to opcodes/cris-opc.h
diff --git a/sim/cris/Makefile.in b/sim/cris/Makefile.in
index 3dcdbb2da022..d5e8a88f3a8a 100644
--- a/sim/cris/Makefile.in
+++ b/sim/cris/Makefile.in
@@ -29,14 +29,13 @@  SIM_OBJS = \
 	sim-if.o arch.o \
 	$(CRISV10F_OBJS) \
 	$(CRISV32F_OBJS) \
-	traps.o \
-	cris-desc.o
+	traps.o
 
 # Extra headers included by sim-main.h.
 # FIXME: $(srccom)/cgen-ops.h should be in CGEN_INCLUDE_DEPS.
 SIM_EXTRA_DEPS = \
 	$(CGEN_INCLUDE_DEPS) $(srccom)/cgen-ops.h \
-	arch.h cpuall.h cris-sim.h cris-desc.h engv10.h engv32.h
+	arch.h cpuall.h cris-sim.h engv10.h engv32.h
 
 SIM_EXTRA_CLEAN = cris-clean
 
@@ -97,7 +96,7 @@  cris-clean:
 	  rm -f mloopv$${v}f.c engv$${v}.h stamp-v$${v}fmloop; \
 	  rm -f stamp-v$${v}fcpu; \
 	done
-	-rm -f stamp-arch stamp-desc
+	-rm -f stamp-arch
 	-rm -f tmp-*
 
 # cgen support, enable with --enable-cgen-maint
@@ -106,7 +105,7 @@  CGEN_MAINT = ; @true
 @CGEN_MAINT@CGEN_MAINT =
 
 # Useful when making CGEN-generated files manually, without --enable-cgen-maint.
-stamps: stamp-v10fmloop stamp-v32fmloop stamp-arch stamp-v10fcpu stamp-v32fcpu stamp-desc
+stamps: stamp-v10fmloop stamp-v32fmloop stamp-arch stamp-v10fcpu stamp-v32fcpu
 
 stamp-arch: $(CGEN_READ_SCM) $(CGEN_ARCH_SCM) $(CPU_DIR)/cris.cpu Makefile
 	$(MAKE) cgen-arch $(CGEN_FLAGS_TO_PASS) mach=crisv10,crisv32 \
@@ -135,10 +134,3 @@  stamp-v32fcpu: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_DECODE_SCM) $(CPU_DIR)/cr
 	mv decodev32.c.tmp $(srcdir)/decodev32.c
 	touch stamp-v32fcpu
 cpuv32.h cpuv32.c semcrisv32f-switch.c modelv32.c decodev32.c decodev32.h: $(CGEN_MAINT) stamp-v32fcpu
-
-stamp-desc: $(CGEN_READ_SCM) $(CGEN_DESC_SCM) $(CPU_DIR)/cris.cpu Makefile
-	$(MAKE) cgen-desc $(CGEN_FLAGS_TO_PASS) \
-		archfile=$(CPU_DIR)/cris.cpu \
-		cpu=cris mach=all
-	touch stamp-desc
-cris-desc.c cris-desc.h cris-opc.h: $(CGEN_MAINT) stamp-desc