mapflag -n ALIGN=-a0:2 -a1:2 -a2:0x8000 -a3:2
mapflag -nr ALIGN=-a0:2 -a1:0x8000 -a2:2 -a3:2
args -b0:0x80000 {ALIGN} (.e:{HEAD}={EM}/{NRT}em) \
-({RTS}:.ocm.b.c={EM}/{NRT}cc) ({RTS}:.p={EM}/{RT}pc) -o > < \
+ ({RTS}:.ocm.b.c={EM}/{NRT}cc) \
+ ({RTS}:.mod={EM}/{NRT}m2) \
+ ({RTS}:.p={EM}/{RT}pc) -o > < \
(.p:{TAIL}={EM}/{LIB}pc) \
(.b:{TAIL}={EM}/{LIB}bc) \
+ (.mod:{TAIL}={EM}/{LIB}m2) \
(.ocm:{TAIL}={EM}/{NLIB}ocm) \
(.ocm.b.c:{TAIL}={EM}/{NLIB}cc.1s {EM}/{NLIB}cc.2g) \
(.e:{TAIL}={EM}/{LIB}em {EM}/{NLIB}mon {EM}/lib/{M}/end_em)
program /bin/ld
mapflag -l* LNAME={EM}/{LIB}*
args (.e:{HEAD}={EM}/{RT}em) \
- ({RTS}:.ocm.b.c={EM}/{RT}cc) ({RTS}:.p={EM}/{RT}pc) -o > < \
+ ({RTS}:.ocm.b.c={EM}/{RT}cc) \
+ ({RTS}:.mod={EM}/{RT}m2) \
+ ({RTS}:.p={EM}/{RT}pc) -o > < \
(.p:{TAIL}={EM}/{LIB}pc) \
(.b:{TAIL}={EM}/{LIB}bc) \
(.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)
linker
var f=4
var d=8
var CC_ALIGN=-Vw{w}.{s}i{w}.{s}p{p}.{s}s{s}.{s}l{l}.{s}f{f}.{w}d{d}.{w}S{s}U{s}
+var M2_ALIGN=-Vw{w}.{s}i{w}.{s}p{p}.{s}s{s}.{s}l{l}.{s}f{f}.{w}d{d}.{w}S{s}
var NAME=sun
var M=m68020
var P=sun3
mapflag -N ALIGN=-a0:2 -a1:2 -a2:2 -a3:2 -b0:0x2000
mapflag -r ALIGN=-a0:2 -a1:0x20000 -a2:2 -a3:2 -b0:0x2020
args {ALIGN} (.e:{HEAD}= {EM}/{RT}em) \
-({RTS}:.ocm.b.c={EM}/{RT}cc) ({RTS}:.p={EM}/{PRT}pc) -o > < \
+({RTS}:.ocm.b.c={EM}/{RT}cc) ({RTS}:.mod={EM}/{RT}m2) ({RTS}:.p={EM}/{PRT}pc) -o > < \
(.p:{TAIL}={EM}/{PLIB}pc) \
(.b:{TAIL}={EM}/{PLIB}bc) \
(.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}/{PLIB}em {EM}/{LIB}mon {EM}/lib/{M}/end_em)
linker