From owner-freebsd-current@FreeBSD.ORG Thu Sep 13 09:28:11 2012 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ACDE3106566B; Thu, 13 Sep 2012 09:28:11 +0000 (UTC) (envelope-from ed@extraordinarymachine.nl) Received: from smtp-vbr7.xs4all.nl (smtp-vbr7.xs4all.nl [194.109.24.27]) by mx1.freebsd.org (Postfix) with ESMTP id 39D3C8FC08; Thu, 13 Sep 2012 09:28:10 +0000 (UTC) Received: from jazzed.meewis.home (a80-101-71-20.adsl.xs4all.nl [80.101.71.20]) by smtp-vbr7.xs4all.nl (8.13.8/8.13.8) with ESMTP id q8D9Rdei007178; Thu, 13 Sep 2012 11:27:39 +0200 (CEST) (envelope-from ed@extraordinarymachine.nl) Received: from [192.168.1.254] (unknown [192.168.1.254]) by jazzed.meewis.home (Postfix) with ESMTP id 0FC7C5C14; Thu, 13 Sep 2012 11:27:39 +0200 (CEST) Message-ID: <5051A707.1030901@extraordinarymachine.nl> Date: Thu, 13 Sep 2012 11:27:35 +0200 From: Edward Meewis User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120907 Thunderbird/15.0.1 MIME-Version: 1.0 To: Brooks Davis References: <5050680C.4020402@extraordinarymachine.nl> <50506D6E.3040905@FreeBSD.org> <505075C3.7010504@extraordinarymachine.nl> <50507CE6.6060803@FreeBSD.org> <5050AAD6.2080202@extraordinarymachine.nl> <5050B5BE.7090005@FreeBSD.org> <20120912163455.GA86169@lor.one-eyed-alien.net> In-Reply-To: <20120912163455.GA86169@lor.one-eyed-alien.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by XS4ALL Virus Scanner Cc: freebsd-current@FreeBSD.org Subject: Re: Building world with clang ToT 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: Thu, 13 Sep 2012 09:28:11 -0000 Hi Brook, On 12-09-12 18:34, Brooks Davis wrote: > > Note that some people have been working on external toolchain support. > > This would aim to make it possible to do what you were trying, e.g. > building world using WITHOUT_TOOLCHAIN, which sets both WITHOUT_CLANG > and WITHOUT_GCC, among others. > > However, I am not sure how far these efforts have come by now. :-) > I've got some patches that aren't quite ready for prime-time that > allow me to cross build world with an external CLANG. I'll post them to > the toolchain@ list when they are closer to ready (hopefully quite soon). > > -- Brooks I'd be interested in those, even if there are some rough edges. (I don't mind sub-prime, this time ;) FWIW: The clang build finished too, but with two hick-ups: 1. - kdump: build reports 4 errors: ===> usr.bin/kdump (depend) sh /usr/home/emeewis/contrib/FreeBSD-HEAD/usr.bin/kdump/mksubr /usr/obj/usr/home/emeewis/contrib/FreeBSD-HEAD/tmp/usr/include >kdump_subr.c env MACHINE=amd64 CPP="cpp" sh /usr/home/emeewis/contrib/FreeBSD-HEAD/usr.bin/kdump/mkioctls print /usr/obj/usr/home/emeewis/contrib/FreeBSD-HEAD/tmp/usr/include > ioctl.c :8:31: error: cam/scsi/scsi_enc.h: No such file or directory :17:33: error: dev/filemon/filemon.h: No such file or directory :35:33: error: fs/nandfs/nandfs_fs.h: No such file or directory :46:24: error: net/netmap.h: No such file or directory (As a consequence ?) clang doesn't pick up 2 symbols: MFI_CMD32 and MFIIO_PASSTHRU32 which are defined if COMPAT_FREEBSD32 is set in sys/dev/mfi/mfi_ioctl.h 2. lint calls tmp/usr/cc directly: buildworld-clang.log:===> usr.bin/xlint/llib (all) buildworld-clang.log:lint -cghapbx -Cposix /usr/home/emeewis/contrib/FreeBSD-HEAD/usr.bin/xlint/llib/llib-lposix buildworld-clang.log:lint: cannot exec /usr/obj/usr/home/emeewis/contrib/FreeBSD-HEAD/tmp/usr/bin/cc: No such file or directory buildworld-clang.log:Stop in /usr/home/emeewis/contrib/FreeBSD-HEAD/usr.bin/xlint/llib. A link from cc to clang in the same directory fixes that. Regards, Ed. ps: re. 1: the gcc build calls: ===> usr.bin/kdump (depend) /bin/sh /usr/home/emeewis/contrib/FreeBSD-HEAD/usr.bin/kdump/../../sys/kern/makesyscalls.sh /usr/home/emeewis/contrib/FreeBSD-HEAD/usr.bin/kdump/../../sys/amd64/linux32/syscalls.master /usr/home/emeewis/contrib/FreeBSD-HEAD/usr.bin/kdump/linux_syscalls.conf sh /usr/home/emeewis/contrib/FreeBSD-HEAD/usr.bin/kdump/mksubr /usr/obj/usr/home/emeewis/contrib/FreeBSD-HEAD/tmp/usr/include | sed -n 's/^\([a-z].*)\)$/void \1;/p' >kdump_subr.h echo "int nlinux_syscalls = sizeof(linux_syscallnames) / sizeof(linux_syscallnames[0]);" >> linux_syscalls.c env MACHINE=amd64 CPP="cpp" sh /usr/home/emeewis/contrib/FreeBSD-HEAD/usr.bin/kdump/mkioctls print /usr/obj/usr/home/emeewis/contrib/FreeBSD-HEAD/tmp/usr/include > ioctl.c