Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Sep 2012 11:27:35 +0200
From:      Edward Meewis <ed@extraordinarymachine.nl>
To:        Brooks Davis <brooks@FreeBSD.org>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: Building world with clang ToT
Message-ID:  <5051A707.1030901@extraordinarymachine.nl>
In-Reply-To: <20120912163455.GA86169@lor.one-eyed-alien.net>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Brook,

On 12-09-12 18:34, Brooks Davis wrote:
> <snip>
> 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
<stdin>:8:31: error: cam/scsi/scsi_enc.h: No such file or directory
<stdin>:17:33: error: dev/filemon/filemon.h: No such file or directory
<stdin>:35:33: error: fs/nandfs/nandfs_fs.h: No such file or directory
<stdin>: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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5051A707.1030901>