From 8c228a123fa0c6062570964011854302bbf57242 Mon Sep 17 00:00:00 2001 From: "unobe@cpan.org" Date: Tue, 17 Aug 2021 14:00:47 +0000 Subject: [PATCH] mk for only supported archs http://fqa.9front.org/fqa1.html#1.2 states the supported archs. However, clean and nuke also remove build files for 0 (spim) and q (power). 'mk all' using those archs fails; 'mk kernels' also tries to build all the kernels, even those which are not supported. For example, I tried to build the power arch (qc, qa, ql) and without surprise it failed (when building dtracy): ... mk dtracy qc -FTVw dtracy.c yacc -v -d -D1 parse.y qc -FTVw cgen.c qc -FTVw act.c qc -FTVw type.c == regfree == REGISTER R0 <11> STRUCT DTAct cgen.c:302 == regfree == REGISTER R0 <11> STRUCT DTAct act.c:266 == regfree == qc -FTVw agg.c cgen.c:299 unknown type in regalloc: STRUCT DTAct cgen.c:299 bad opcode in gmove INT -> STRUCT DTAct cgen.c:302 unknown type in regalloc: STRUCT DTAct cgen.c:302 bad opcode in gmove INT -> STRUCT DTAct cgen.c:302 error in regfree: 0 [0] REGISTERmk: qc -FTVw cgen.c : exit status=rc 387386: qc 387392: error R0 <11> STRUCT DTAct act.c:269 act.c:250 unknown type in regalloc: STRUCT DTAct act.c:250 bad opcode in gmove INT -> STRUCT DTAct act.c:266 unknown type in regalloc: STRUCT DTAct act.c:266 bad opcode in gmove INT -> STRUCT DTAct act.c:266 error in regfree: 0 [0] act.c:269 unknown type in regalloc: STRUCT DTAct act.c:269 bad opcode in gmove INT -> STRUCT DTAct act.c:269 error in regfree: 0 [0] act.c:274 unknown type in regalloc: STRUCT DTAct act.c:274 bad opcode in gmove INT -> STRUCT DTAct act.c:274 error in regfree: 0 [0] too many errors mk: for(i in cc ... : exit status=rc 382748: rc 387379: mk 387381: error mk: date for (i ... : exit status=rc 373781: rc 382226: mk 382227: error cpu% The patch below skips over non-supported architectures. Is that something we want? This way, 'mk kernels' should work without a problem (tested on amd64). Then if someone works on getting those architectures supported again in the future, they can be added back in. --- sys/src/9/mkfile | 6 ++++-- sys/src/boot/zynq/mkfile | 3 +++ sys/src/mkfile | 31 +++++++++++++++++++++++-------- 3 files changed, 30 insertions(+), 10 deletions(-) diff --git a/sys/src/9/mkfile b/sys/src/9/mkfile index 9208a7b94..d4e9a7228 100644 --- a/sys/src/9/mkfile +++ b/sys/src/9/mkfile @@ -3,11 +3,13 @@ ARCH=\ bcm64\ cycv\ kw\ - mtx\ +# power arch:\ +# mtx\ omap\ pc\ pc64\ - ppc\ +# power arch:\ +# ppc\ sgi\ teg2\ xen\ diff --git a/sys/src/boot/zynq/mkfile b/sys/src/boot/zynq/mkfile index 90f503446..2dd24c711 100644 --- a/sys/src/boot/zynq/mkfile +++ b/sys/src/boot/zynq/mkfile @@ -7,6 +7,9 @@ TEXTBASE=0xfffc0000 all:V: $TARG +install:V: + echo install not supported >[1=2] + clean:V: rm -rf $TARG *.$O @{objtype=$cputype mk -f mkfile.port clean} diff --git a/sys/src/mkfile b/sys/src/mkfile index 00c1800c8..7711200b6 100644 --- a/sys/src/mkfile +++ b/sys/src/mkfile @@ -1,5 +1,12 @@ [1=2] date installall:V: echo "installall not supported" release:V: - mk nuke - rm -f /$objtype/lib/ape/*.a - rm -f /$objtype/lib/*.a - mk install - mk clean + if (~ $objtype $SUPPORTED_OBJS) { + mk nuke + rm -f /$objtype/lib/ape/*.a + rm -f /$objtype/lib/*.a + mk install + mk clean + } + if not + echo $objtype architecture not supported >[1=2] kernels:V: for (i in 9 boot) @{ -- 2.44.0