use our own assembler instead of /bin/as

This commit is contained in:
ceriel 1987-08-06 11:36:47 +00:00
parent 7f7f9b36cd
commit 832066b81f

View file

@ -11,6 +11,7 @@ var LIB=lib/{M}/tail_
var RT=lib/{M}/head_
var CPP_F=-Dunix=unix
var INCLUDES=-I{EM}/include/_tail_cc
var ALIGN=-a0:1 -a1:1 -a2:1 -a3:1
name be
from .m.g
to .s
@ -31,17 +32,19 @@ end
name as
from .s.so
to .o
program /bin/as
program {EM}/lib/{M}/as
args - -o > <
prep cond
end
name ld
name led
from .o.a
to .out
outfile a.out
program /bin/ld
program {EM}/lib/em_led
mapflag -l* LNAME={EM}/{LIB}*
args (.e:{HEAD}={EM}/{RT}em) \
mapflag -i SEPID=-b1:0
mapflag -n ALIGN=-a0:1 -a1:0x2000 -a2:1 -a3:1
mapflag -nr ALIGN=-a0:1 -a1:1 -a2:0x2000 -a3:1
args {ALIGN} {SEPID?} (.e:{HEAD}={EM}/{RT}em) \
({RTS}:.ocm.b.c={EM}/{RT}cc) \
({RTS}:.mod={EM}/{RT}m2) \
({RTS}:.p={EM}/{RT}pc) -o > < \
@ -50,6 +53,13 @@ name ld
(.ocm:{TAIL}={EM}/{LIB}ocm) \
(.mod:{TAIL}={EM}/{LIB}m2) \
(.ocm.b.c:{TAIL}={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g) \
(.e:{TAIL}={EM}/{LIB}em {EM}/{LIB}mon)
(.e:{TAIL}={EM}/{LIB}em {EM}/{LIB}mon {EM}/lib/{M}/end_em)
linker
end
name cv
from .out
to .cv
program {EM}/lib/{M}/cv
args < >
outfile a.out
end