[v2] opcodes: cris: move desc & opc files from sim/

Message ID 20210523041251.28720-1-vapier@gentoo.org
State New
Headers show
Series
  • [v2] opcodes: cris: move desc & opc files from sim/
Related show

Commit Message

Libor Bukata via Binutils May 23, 2021, 4:12 a.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               | 16 ++++++++++++++-
 opcodes/Makefile.in               | 17 +++++++++++++++-
 opcodes/cgen.sh                   | 34 +++++++++++++++++++++++++++++++
 {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 ++++-----------
 7 files changed, 69 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

Comments

Libor Bukata via Binutils May 23, 2021, 8:52 p.m. | #1
Three minor issues:

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

> Date: Sun, 23 May 2021 06:12:51 +0200


Missing ChangeLog entries.  Those are "still" kept for opcodes/.

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


The commit log is not updated since the first version:
cris-opc.c isn't just "already there", it's "not generated by CGEN".

> diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am

> @@ -431,6 +435,16 @@ 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)


This dependency isn't updated; cris-opc.c must not depend on
$(CRIS_DEPS) (stamp-cris in maintainer-mode).

Thanks for looking into and finding the CGEN guile-1.8 requirement.
(Is there a CGEN/scheme hacker listening?)

brgds, H-P
Libor Bukata via Binutils May 23, 2021, 9:01 p.m. | #2
> From: Hans-Peter Nilsson <Hans-Peter.Nilsson@axis.com>

> Date: Sun, 23 May 2021 22:52:39 +0200


> This dependency isn't updated; cris-opc.c must not depend on

> $(CRIS_DEPS) (stamp-cris in maintainer-mode).


The same goes for cris-dis.c of course.  But you already
noticed that, I hope. :)

brgds, H-P
Libor Bukata via Binutils May 24, 2021, 1:23 a.m. | #3
On 23 May 2021 22:52, Hans-Peter Nilsson wrote:
> > From: Mike Frysinger <vapier@gentoo.org>

> > Date: Sun, 23 May 2021 06:12:51 +0200

> 

> Missing ChangeLog entries.  Those are "still" kept for opcodes/.


i don't waste time on these until i actually push the change

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

> 

> The commit log is not updated since the first version:

> cris-opc.c isn't just "already there", it's "not generated by CGEN".


not sure what you mean.  desc/opc files belong in the opcodes project.  i'm
explaining why this commit is only moving opc.h and not opc.c in this commit.

if you want me to write something else here, just lemme know what you want
it to say.

> > diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am

> > @@ -431,6 +435,16 @@ 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)

> 

> This dependency isn't updated; cris-opc.c must not depend on

> $(CRIS_DEPS) (stamp-cris in maintainer-mode).


thanks, removed opc.c & dis.c
-mike
Libor Bukata via Binutils May 24, 2021, 3:48 a.m. | #4
On 24 May 2021 03:43, Hans-Peter Nilsson wrote:
> Ok with that, after a cris-elf testsuite run (gas, binutils,

> ld, sim), thanks.


tests show no regressions for cris-elf with the v4
-mike

Patch

diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am
index 04980f36b113..30d86f012999 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,16 @@  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
+	$(SHELL) $(srcdir)/cgen.sh desc $(srcdir) $(CGEN) \
+	  $(CGENDIR) "$(CGENFLAGS)" cris cris $(CPUDIR)/cris.cpu /dev/null \
+	  "$(options)" "$(extrafiles)"
+	touch $@
+
 $(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/cgen.sh b/opcodes/cgen.sh
index bdcc56df687c..cf6a5f112a66 100644
--- a/opcodes/cgen.sh
+++ b/opcodes/cgen.sh
@@ -175,6 +175,40 @@  opcodes)
 	rm -f ${tmp}-asm.in1 ${tmp}-dis.in1
 	;;
 
+desc)
+	# For ports that only generate the desc module & opc header.
+	rm -f ${tmp}-desc.h1 ${tmp}-desc.h
+	rm -f ${tmp}-desc.c1 ${tmp}-desc.c
+	rm -f ${tmp}-opc.h1 ${tmp}-opc.h
+
+	${cgen} ${cgendir}/cgen-opc.scm \
+		-s ${cgendir} \
+		${cgenflags} \
+		-OPC ${opcfile} \
+		-f "${archflags}" \
+		-m all \
+		-a ${archfile} \
+		-i all \
+		-H ${tmp}-desc.h1 \
+		-C ${tmp}-desc.c1 \
+		-O ${tmp}-opc.h1
+
+	sed -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
+		-e "s/@prefix@/${prefix}/g" \
+		< ${tmp}-desc.h1 > ${tmp}-desc.h
+	${rootdir}/move-if-change ${tmp}-desc.h ${srcdir}/${arch}-desc.h
+	sed -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
+		-e "s/@prefix@/${prefix}/g" \
+		< ${tmp}-desc.c1 > ${tmp}-desc.c
+	${rootdir}/move-if-change ${tmp}-desc.c ${srcdir}/${arch}-desc.c
+	sed -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
+		-e "s/@prefix@/${prefix}/g" \
+		< ${tmp}-opc.h1 > ${tmp}-opc.h
+	${rootdir}/move-if-change ${tmp}-opc.h ${srcdir}/${arch}-opc.h
+
+	rm -f ${tmp}-desc.h1 ${tmp}-desc.c1 ${tmp}-opc.h1
+	;;
+
 *)
 	echo "$0: bad action: ${action}" >&2
 	exit 1
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