Clang cross builds world

Mark Tinguely marktinguely at
Sat Sep 25 01:41:15 UTC 2010

I was inspired by the clang build world topic to try a cross build world 
of ARM from a i386 computer.

I use the build command:

    make TARGET_ARCH=arm TARGET_CPUTYPE=xscale buildworld
(I tried an "TARGET_CPUTYPE=cortex-a8" once also, I got the same errors 

/etc/src.conf is taken from the FreeBSD clang web page,.
/etc/make.conf has perl version strings.

The cross tools build stage apparently makes an i386 compiler:
    /usr/obj/arm.arm/usr/src/tmp/usr/bin/clang -###
FreeBSD clang version 2.8 (branches/release_28 114020) 20100917
Target: i386-undermydesk-freebsd9.0
Thread model: posix

When the library build stage begins, the assembler complains about the 
unknown "--32" option from clang. I know the "--32" options is a i386 
target add-on option. Removing "--32" from the command line with a 
script shim, and sure enough clang is generating i386 assembly code.

I know the clang and ARM is not tested nor supported. I am just looking 
for some clang cross architecture compiling wisdom.

--Mark Tinguely

More information about the freebsd-current mailing list