From 1c9e9296bea756356b4a2a39a4358773ab614a03 Mon Sep 17 00:00:00 2001 From: Toby Jaffey Date: Sat, 13 Dec 2025 22:20:38 +0000 Subject: [PATCH] xxd -n (set variable name) doesn't exist on all systems, use shell utilities to build the headers Fixes #1 --- apps/self/Makefile | 6 +++++- apps/self/mandel.h | 4 +++- hosts/host-mini/Makefile | 6 +++++- hosts/host-mini/mandel.h | 4 +++- hosts/host-parallel/Makefile | 6 +++++- hosts/host-parallel/fib.h | 4 +++- precompiled/self.bin | Bin 5396 -> 5412 bytes 7 files changed, 24 insertions(+), 6 deletions(-) diff --git a/apps/self/Makefile b/apps/self/Makefile index 41c70f1..f372ab4 100644 --- a/apps/self/Makefile +++ b/apps/self/Makefile @@ -3,7 +3,11 @@ PROJECT:=$(shell basename ${PWD}) SRCS=${PROJECT}.c ${TOPDIR}/apps/common/crt0.S ${TOPDIR}/uvm32/uvm32.c CFLAGS=-DUVM32_MEMORY_SIZE=8192 -DCUSTOM_STDLIB_H=\"uvm32_target.h\" -I../../uvm32 all: - xxd -n mandel -i ${TOPDIR}/precompiled/mandel.bin | sed -e "s/unsigned char/const unsigned char/" > mandel.h + @echo "const unsigned char mandel[] = {" > mandel.h + @cat ${TOPDIR}/precompiled/mandel.bin | xxd -i >> mandel.h + @echo "};\nunsigned int mandel_len = " >> mandel.h + @wc -c ${TOPDIR}/precompiled/mandel.bin | awk '{print $$1}' >> mandel.h + @echo ";" >> mandel.h make all_common test: test_common clean: clean_common diff --git a/apps/self/mandel.h b/apps/self/mandel.h index 21f8d81..73d6532 100644 --- a/apps/self/mandel.h +++ b/apps/self/mandel.h @@ -25,4 +25,6 @@ const unsigned char mandel[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x00 }; -unsigned int mandel_len = 300; +unsigned int mandel_len = +300 +; diff --git a/hosts/host-mini/Makefile b/hosts/host-mini/Makefile index 88a76a3..b55e6ef 100644 --- a/hosts/host-mini/Makefile +++ b/hosts/host-mini/Makefile @@ -1,7 +1,11 @@ TOPDIR=../.. all: - xxd -n mandel -i ${TOPDIR}/precompiled/mandel.bin | sed -e "s/unsigned char/const unsigned char/" > mandel.h + @echo "const unsigned char mandel[] = {" > mandel.h + @cat ${TOPDIR}/precompiled/mandel.bin | xxd -i >> mandel.h + @echo "};\nunsigned int mandel_len = " >> mandel.h + @wc -c ${TOPDIR}/precompiled/mandel.bin | awk '{print $$1}' >> mandel.h + @echo ";" >> mandel.h gcc -Wall -DUVM32_ERROR_STRINGS -DUVM32_MEMORY_SIZE=512 -O2 -I${TOPDIR}/uvm32 -I${TOPDIR}/common -o host-mini ${TOPDIR}/uvm32/uvm32.c host-mini.c clean: diff --git a/hosts/host-mini/mandel.h b/hosts/host-mini/mandel.h index 21f8d81..73d6532 100644 --- a/hosts/host-mini/mandel.h +++ b/hosts/host-mini/mandel.h @@ -25,4 +25,6 @@ const unsigned char mandel[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x00 }; -unsigned int mandel_len = 300; +unsigned int mandel_len = +300 +; diff --git a/hosts/host-parallel/Makefile b/hosts/host-parallel/Makefile index f8ea5ff..df3ef4d 100644 --- a/hosts/host-parallel/Makefile +++ b/hosts/host-parallel/Makefile @@ -1,6 +1,10 @@ TOPDIR = ../.. all: - xxd -n fib -i ${TOPDIR}/precompiled/fib.bin | sed -e "s/unsigned char/const unsigned char/" > fib.h + @echo "const unsigned char fib[] = {" > fib.h + @cat ${TOPDIR}/precompiled/fib.bin | xxd -i >> fib.h + @echo "};\nunsigned int fib_len = " >> fib.h + @wc -c ${TOPDIR}/precompiled/fib.bin | awk '{print $$1}' >> fib.h + @echo ";" >> fib.h gcc -Wall -DUVM32_ERROR_STRINGS -DUVM32_MEMORY_SIZE=16386 -I${TOPDIR}/uvm32 -I${TOPDIR}/common -o host-parallel ${TOPDIR}/uvm32/uvm32.c host-parallel.c clean: diff --git a/hosts/host-parallel/fib.h b/hosts/host-parallel/fib.h index 86d6a85..0681605 100644 --- a/hosts/host-parallel/fib.h +++ b/hosts/host-parallel/fib.h @@ -40,4 +40,6 @@ const unsigned char fib[] = { 0x29, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x00, 0x00, 0x66, 0x69, 0x62, 0x28, 0x29, 0x20, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x00 }; -unsigned int fib_len = 480; +unsigned int fib_len = +480 +; diff --git a/precompiled/self.bin b/precompiled/self.bin index d25ca78314df373498a3fe21dc20eecd2cf317b6..585953a9c93c87b7630e11a657fd31042b178e55 100755 GIT binary patch delta 1062 zcmZ|NPe_w-7zgm@_wIf7zS_1nH~)~vtas@UNuz^OmeVA)jHXF=5R!_F5cJT&!(gvz zO+`?723;hDA_S#F3cKu}Wq9$>!9#_h2cZsvQY!*Q`@YF)3>^1Z?xo9 ziI$s92CS^q zpxc}ixIRAkKp5lO-kd-YD@3f7Q}>Q{zXD5PgM9XhM#=MwyTz$6s|wwVE>ow0d68Ut zIU3u?+=GfD97c!(xAmFBTtoNukzV8?x2(|i&g5RK7_~x~=F|k~Q>sIMquTT*sw1Y7 zq5BdV#tn|B2f9B&{l#^*{=!Al{j$VgD@ZSqCH-{5X7TkY<|cw|(g|t(2m7Vl()tz~ z(iwH|Cs`Ua;#uiMmUqMKHZP1_f*e_H=5|YqWBs#vA^ofpbSod4Ic}*IWxQv3B<^sh zJd-u~-cr11-g}poa`VjZ*r(jZU_=Qi)jT|Wi8bp!a#igW=h#r6i%QPZBH{v1Y2T&M zU5;kVh^o0jW~U@-c-nSe)bg6`qPW6&c3sqQ6`ohQ!=5kdIb`>WMxH?B8ZRJj;tf1+ zymfq$q|rfMb9RfH+~g_~K@PcmGT}Ej;R=edM<&A$m2e*#pcPh+ld%HR5QjC8@!uwG zrRAGxc_J;Bo&S5yH9UuT_}_wsD70sgF$Kv@W)aUr9G1Z2AfpG`pwe|{3~_5F86D6C zW^XUv0}wxkK3IWO*n;2Sw2={nHd`2t2p&QYj6f8|>}Y@lJca-^>4Iq}fDnv8@-XIs zOy*&db0-j|&P~?mQ|sZBhK1CDl={jM^-o9CH;<_Aq}4wnFa3r`0+yfwk~eBXJOJj6 K%&(*3e(fzVYwZv zotlAtJ*g9ddL{yk2dY^Tu@O{QqHMQB!#(ui%eO5%> zOeBO@h@$DaWH{@sdLLP#J2WvF`01)1q-+gQXK+whK}l(~Kvth>SWi^lx}X|am29i3 zprOX*q&j1*El_98Zrxfd6{}V%{3Sxxnu3o03ie(0yIK6@kb=aFDKF|)$cK$uzH?YP zqO^SFlv1r~1#(4GI%kwy6}LyRH94#)%>?A*=@$(Si$$2jNOChFPk zJ|#YJyZcc^Am^$XbROXc%dm5iS6nBLWAd8pkX!lk<;`5~DI)f&=R}xO>U9y}pq3OH z`Jwhr@lNy21&_q0baY{xA{zLqzFutSyuL~7;9!|0cJi(=Ys>C*@*{OVQ1PHD#XnC~ zW*6fTuGbJ>db8)>IoG`_i{j%`6?5}@qTG)@jr_JOAolYZ{+rU8F{~)wZqAptiv!&3 zTPF^3m#-@Q)Yl{ux|{4Egy9%8Koh+4lAVJ-$iN4f_RPtb#3Lo~cu72666@u^dnNuh zU5Z5W0_+_`y+*M(?YV3LMu3H&*0kunMGI!Id}(om;_BH zI|?zKr%WT!h2d35m7xsA;WTVO>sIK4N;nH$Fna{&7!KzMv$ee#|64noe>_kAxj~8l pF38QZ;Qc)Lk$LiCCHc3AM`0XZK!dSr?nb+i=m6(NgkPN?`URQBLOB2c