Hi,
Just to briefly share with wider audience progress on cross-compiling =
for=20
ARM using llvm/clang.
I managed to cross-compile kernel with clang for Marvel SoC and run =
world=20
compiled with gcc in multiuser. It works stable and I didn't notice any=20=
issues so far. Cross compiling even works from MacOS. Caveat is that it=20=
still requires binutils as integrated assembler is not stable enough.
The real benefit of having clang in place is support of new ARM=20
architectures (ARMv6, ARMv7) which are not supported in last GPLv2 =
gcc/binutils.
With regards to building world, main issue is ARM ABI. FreeBSD uses=20
ATPCS[1] procedure call standard which is older one. New one is called=20=
AAPCS [2] and introduces some important performance related stuff. =
llvm/clang=20
doesn't support older ATPCS standard so it fails to build some =
libraries.
Andrew already did some work on moving to AAPCS[3]. When we will have =
AAPCS=20
implemented then I expect that building of world should work without any =
major=20
issues.
Damjan
[1] http://infocenter.arm.com/help/topic/com.arm.doc.espc0002/ATPCS.pdf
[2] =
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/IHI0042D_aapcs.p=
df
[3] http://svnweb.freebsd.org/base/projects/arm_eabi/
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"