On 25/03/15 00:03, Justin Cormack wrote:
As a diversion I tried a few different architectures, to get some new problems.

Arm: works other than need to work around some eabi symbol alias
conflicts. Should be simple to resolve.
Powerpc: Fails to build libc on Linux as wchar_t on linux is a long
while on NetBSD it is an int. Solution is probably to use NetBSD on
ppc32, or to build a compiler with different wchar... or find an
option to stop it complaining. ppc64 should be ok, will try that at
some point.

Is it a printf thing or something else? There's already a -Wno-format hook in buildrump.sh in case there's a size_t confusion for 32bit targets.

mips: runs fine apart from my fiber switching code is broken, will fix it.

See mips run for not very long if it can't context switch ;)


Hijacking this thread a bit, some time ago there was discussion about how you should tell the target architecture to build-rr.sh in rumprun. Due to last week's toolchain wrapper work, I think the answer is now manifest. Target architecture selection can work exactly the same way as it works for buildrump.sh: inferred from the compiler.

So if you do "CC=i386-whatever-gcc ./build-rr.sh xen", you get a i386 version of rumprun for xen, and if you do "CC=arm-whatever-cc ./build-rr.sh baremetal" you get an error, since there's no such thing as a generic arm board. So we probably need some switch like -b(oard). But that becomes relevant only when support for the first ARM board hits /baremental.

Also, summarizing the proposed terminology:

architecture = CPU ISA
platform = the layer above architecture (baremetal, frankenlibc, xen)
board = specific hardware configuration (probably valid only for /baremetal?)

Reply via email to