Date: Mon, 4 Jul 2011 17:11:07 +0200 From: Damjan Marion <damjan.marion@gmail.com> To: current@freebsd.org Subject: Status of clang/llvm cross-compiling for ARM Message-ID: <FD3B4995-A737-41FE-BF58-A0C38336423A@gmail.com>
next in thread | raw e-mail | index | archive | help
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/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FD3B4995-A737-41FE-BF58-A0C38336423A>