Building world with clang ToT
Edward Meewis
ed at extraordinarymachine.nl
Thu Sep 13 09:28:11 UTC 2012
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
More information about the freebsd-current
mailing list