Fails to build sys/i386/boot2 with gcc 4.9
Craig Rodrigues
rodrigc at FreeBSD.org
Sat Mar 28 23:05:48 UTC 2015
Hi,
To work around the problems build rescue, this time I used a build host
running FreeBSD-CURRENT at svn revision r280353
I took this patch for libc++ and applied it to my tree:
http://reviews.llvm.org/D8461
I used this script to build with gcc 4.9:
https://github.com/freebsd/freebsd-ci/blob/master/scripts/build/cross-build.sh
Buildling sys/i386/boot2 failed:
===> sys/boot/i386/boot2 (all)
objcopy -S -O binary boot1.out boot1
dd if=/dev/zero of=boot2.ldr bs=512 count=1
1+0 records in
1+0 records out
512 bytes transferred in 0.000034 secs (14989607 bytes/sec)
/usr/local/bin/x86_64-portbld-freebsd11.0-gcc -isystem
/usr/obj/opt2/branches/head/tmp/usr/include
-L/usr/obj/opt2/branches/head/tmp/usr/lib
--sysroot=/usr/obj/opt2/branches/head/tmp -B/usr/local/x86_64-freebsd/bin/
-fomit-frame-pointer -mrtd -mregparm=3 -DUSE_XREAD -DUFS1_AND_UFS2
-DFLAGS=0x80 -DSIOPRT=0x3f8 -DSIOFMT=0x3 -DSIOSPD=9600
-I/opt2/branches/head/sys/boot/i386/boot2/../../common
-I/opt2/branches/head/sys/boot/i386/boot2/../btx/lib -I. -Wall
-Waggregate-return -Wbad-function-cast -Wcast-align -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wshadow
-Wstrict-prototypes -Wwrite-strings -Winline -march=i386 -ffreestanding
-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float -m32
-std=gnu99 -Os -fno-guess-branch-probability -fno-unit-at-a-time
--param max-inline-insns-single=100 -mpreferred-stack-boundary=2 -S -o
boot2.s.tmp /opt2/branches/head/sys/boot/i386/boot2/boot2.c
/opt2/branches/head/sys/boot/i386/boot2/boot2.c: In function 'parse':
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:484:6: warning: suggest
parentheses around assignment used as truth value [-Wparentheses]
if (k = ep - arg) {
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c: In function 'load':
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:187:1: warning: inlining
failed in call to 'xfsread': call is unlikely and code size would grow
[-Winline]
xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:334:9: warning: called from
here [-Winline]
if (xfsread(ino, &hdr, sizeof(hdr)))
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:187:1: warning: inlining
failed in call to 'xfsread': call is unlikely and code size would grow
[-Winline]
xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:341:6: warning: called from
here [-Winline]
if (xfsread(ino, p, hdr.ex.a_text))
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:187:1: warning: inlining
failed in call to 'xfsread': call is unlikely and code size would grow
[-Winline]
xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:344:6: warning: called from
here [-Winline]
if (xfsread(ino, p, hdr.ex.a_data))
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:187:1: warning: inlining
failed in call to 'xfsread': call is unlikely and code size would grow
[-Winline]
xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:349:10: warning: called
from here [-Winline]
if (xfsread(ino, ep + j, sizeof(ep[0])))
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:187:1: warning: inlining
failed in call to 'xfsread': call is unlikely and code size would grow
[-Winline]
xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:357:10: warning: called
from here [-Winline]
if (xfsread(ino, p, ep[i].p_filesz))
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:187:1: warning: inlining
failed in call to 'xfsread': call is unlikely and code size would grow
[-Winline]
xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:365:10: warning: called
from here [-Winline]
if (xfsread(ino, &es, sizeof(es)))
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:187:1: warning: inlining
failed in call to 'xfsread': call is unlikely and code size would grow
[-Winline]
xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
^
/opt2/branches/head/sys/boot/i386/boot2/boot2.c:371:7: warning: called from
here [-Winline]
if (xfsread(ino, p, es[i].sh_size))
^
sed -e '/align/d' -e '/nop/d' < boot2.s.tmp > boot2.s
rm -f boot2.s.tmp
/usr/local/bin/x86_64-portbld-freebsd11.0-gcc -isystem
/usr/obj/opt2/branches/head/tmp/usr/include
-L/usr/obj/opt2/branches/head/tmp/usr/lib
--sysroot=/usr/obj/opt2/branches/head/tmp -B/usr/local/x86_64-freebsd/bin/
-m32 -c boot2.s
/usr/local/bin/x86_64-portbld-freebsd11.0-gcc -isystem
/usr/obj/opt2/branches/head/tmp/usr/include
-L/usr/obj/opt2/branches/head/tmp/usr/lib
--sysroot=/usr/obj/opt2/branches/head/tmp -B/usr/local/x86_64-freebsd/bin/
-fomit-frame-pointer -mrtd -mregparm=3 -DUSE_XREAD -DUFS1_AND_UFS2
-DFLAGS=0x80 -DSIOPRT=0x3f8 -DSIOFMT=0x3 -DSIOSPD=9600
-I/opt2/branches/head/sys/boot/i386/boot2/../../common
-I/opt2/branches/head/sys/boot/i386/boot2/../btx/lib -I. -Wall
-Waggregate-return -Wbad-function-cast -Wcast-align -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wshadow
-Wstrict-prototypes -Wwrite-strings -Winline -march=i386 -ffreestanding
-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float -m32
-std=gnu99 -Os -fno-guess-branch-probability -fno-unit-at-a-time
--param max-inline-insns-single=100 -mpreferred-stack-boundary=2 -m32 -c
/opt2/branches/head/sys/boot/i386/boot2/sio.S -o sio.o
/usr/local/x86_64-freebsd/bin/ld -static -N --gc-sections -m elf_i386_fbsd
-Ttext 0x2000 -o boot2.out
/usr/obj/opt2/branches/head/sys/boot/i386/boot2/../btx/lib/crt0.o boot2.o
sio.o
objcopy -S -O binary boot2.out boot2.bin
btxld -v -E 0x2000 -f bin -b
/usr/obj/opt2/branches/head/sys/boot/i386/boot2/../btx/btx/btx -l
boot2.ldr -o boot2.ld -P 1 boot2.bin
kernel: ver=1.02 size=690 load=9000 entry=9010 map=16M pgctl=1:1
client: fmt=bin size=195f text=0 data=0 bss=0 entry=0
output: fmt=bin size=21ef text=200 data=1fef org=0 entry=0
-1007 bytes available
*** Error code 1
Stop.
make[6]: stopped in /opt2/branches/head/sys/boot/i386/boot2
*** Error code 1
Stop.
make[5]: stopped in /opt2/branches/head/sys/boot/i386
*** Error code 1
Stop.
make[4]: stopped in /opt2/branches/head/sys/boot
*** Error code 1
Stop.
make[3]: stopped in /opt2/branches/head/sys
*** Error code 1
Stop.
make[2]: stopped in /opt2/branches/head
*** Error code 1
Stop.
make[1]: stopped in /opt2/branches/head
*** Error code 1
Stop.
make: stopped in /opt2/branches/head
Script done on Sat Mar 28 13:44:24 2015
--
Craig
More information about the freebsd-toolchain
mailing list