b3c0a767a5
- Don't reverse bitfields; do use ego (41f3bf7
). - Use MACHOPT_F=-m2 (3dae9e4
). - Remove old trap.s (26de4c1
). At this commit, one can build qemuppc with mcg by editing the root build.lua to uncomment "qemuppc" in "vars.plats". If one also uncomments "qemuppc" from "vars.plats_with_tests", then mcg fails to build the tests. If one uses ncg (by editing plat/qemuppc/descr to change "mcg" to "ncg"), then the tests pass.
88 lines
1.7 KiB
Plaintext
88 lines
1.7 KiB
Plaintext
# plat/linuxppc/descr
|
|
|
|
var w=4
|
|
var wa=4
|
|
var p={w}
|
|
var pa={w}
|
|
var s=2
|
|
var sa={s}
|
|
var l={w}
|
|
var la={w}
|
|
var f={w}
|
|
var fa={w}
|
|
var d=8
|
|
var da={d}
|
|
var x=8
|
|
var xa={x}
|
|
var ARCH=powerpc
|
|
var PLATFORM=qemuppc
|
|
var PLATFORMDIR={EM}/share/ack/{PLATFORM}
|
|
var CPP_F=-D__unix
|
|
var ALIGN=-a0:4 -a1:4 -a2:4 -a3:4 -b0:0x01000000
|
|
var MACHOPT_F=-m2
|
|
var EGO_PLAT_FLAGS=-M{EM}/share/ack/ego/{ARCH}.descr
|
|
|
|
# Override the setting in fe so that files compiled for qemuppc can see
|
|
# the platform-specific headers.
|
|
|
|
var C_INCLUDES=-I{PLATFORMDIR}/include -I{EM}/share/ack/include/ansi
|
|
|
|
name be
|
|
from .m.g
|
|
to .s
|
|
program {EM}/lib/ack/{PLATFORM}/mcg
|
|
mapflag -gdb GF=-gdb
|
|
args {GF?} <
|
|
stdout
|
|
need .e
|
|
end
|
|
name asopt
|
|
from .s
|
|
to .so
|
|
program {EM}/lib/ack/{PLATFORM}/top
|
|
args
|
|
optimizer
|
|
stdin
|
|
stdout
|
|
end
|
|
name as
|
|
from .s.so
|
|
to .o
|
|
program {EM}/lib/ack/{PLATFORM}/as
|
|
args - -o > <
|
|
prep cond
|
|
end
|
|
name led
|
|
from .o.a
|
|
to .out
|
|
program {EM}/lib/ack/em_led
|
|
mapflag -l* LNAME={PLATFORMDIR}/lib*
|
|
mapflag -fp FLOATS={EM}/{LIB}fp
|
|
args {ALIGN} {SEPID?} \
|
|
({RTS}:.b=-u _i_main) \
|
|
(.e:{HEAD}={PLATFORMDIR}/boot.o) \
|
|
({RTS}:.ocm.bas.b={PLATFORMDIR}/c-ansi.o) \
|
|
({RTS}:.c={PLATFORMDIR}/c-ansi.o) \
|
|
({RTS}:.mod={PLATFORMDIR}/modula2.o) \
|
|
({RTS}:.p={PLATFORMDIR}/pascal.o) \
|
|
-o > < \
|
|
(.p:{TAIL}={PLATFORMDIR}/libpascal.a) \
|
|
(.b:{TAIL}={PLATFORMDIR}/libb.a) \
|
|
(.bas:{TAIL}={PLATFORMDIR}/libbasic.a) \
|
|
(.mod:{TAIL}={PLATFORMDIR}/libmodula2.a) \
|
|
(.ocm:{TAIL}={PLATFORMDIR}/liboccam.a) \
|
|
(.ocm.bas.mod.b.c.p:{TAIL}={PLATFORMDIR}/libc.a) \
|
|
{FLOATS?} \
|
|
(.e:{TAIL}={PLATFORMDIR}/libem.a \
|
|
{PLATFORMDIR}/libsys.a \
|
|
{PLATFORMDIR}/libend.a)
|
|
linker
|
|
end
|
|
name cv
|
|
from .out
|
|
to .exe
|
|
program {EM}/bin/aslod
|
|
args < >
|
|
outfile qemuppc.img
|
|
end
|