Skip site navigation (1)Skip section navigation (2)
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>