From owner-freebsd-current@FreeBSD.ORG Mon Jul 4 15:11:11 2011 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C4EC1065670 for ; Mon, 4 Jul 2011 15:11:11 +0000 (UTC) (envelope-from damjan.marion@gmail.com) Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by mx1.freebsd.org (Postfix) with ESMTP id 0C8DA8FC15 for ; Mon, 4 Jul 2011 15:11:10 +0000 (UTC) Received: by fxe6 with SMTP id 6so4297873fxe.17 for ; Mon, 04 Jul 2011 08:11:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; bh=fRsO9K15twpjWypdmBX+Sgj4KqRrlQvJ0sVxpMtygoQ=; b=RUVk8r6F9bfffjFs0CfASXyCCBz0BlyN5ySIMqDSSsGov7HA49kuCKVl75yhu/+biz fwRAs5EUhUiw7bP6pp8y31fy7QRsqWf9Vbsk8b6oso7B3OsJ+v4MiYQDokNjFeGzhaJ4 05Ma6/oIB82K8fYNwx9tMVNNMCmIn1/hKpIZg= Received: by 10.223.4.209 with SMTP id 17mr9757405fas.35.1309792269907; Mon, 04 Jul 2011 08:11:09 -0700 (PDT) Received: from damarion-mac.home (cpe-109-60-79-155.zg3.cable.xnet.hr [109.60.79.155]) by mx.google.com with ESMTPS id o23sm4613400faa.9.2011.07.04.08.11.08 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 04 Jul 2011 08:11:09 -0700 (PDT) From: Damjan Marion Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Date: Mon, 4 Jul 2011 17:11:07 +0200 Message-Id: To: current@freebsd.org Mime-Version: 1.0 (Apple Message framework v1244.3) X-Mailer: Apple Mail (2.1244.3) Cc: Subject: Status of clang/llvm cross-compiling for ARM X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jul 2011 15:11:11 -0000 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/