buildworld fails on recent stable
Volodymyr Kostyrko
c.kworr at gmail.com
Mon Nov 5 15:52:35 UTC 2012
05.11.2012 17:42, Andriy Gapon wrote:
> on 05/11/2012 16:51 Dimitry Andric said the following:
>> On 2012-11-05 12:41, Volodymyr Kostyrko wrote:
>>> When CLANG_IS_CC build fails at sys/boot/i386/boot2:
>>>
>>> ld -static -N --gc-sections -nostdlib -m elf_i386_fbsd -Ttext 0x2000 -o
>>> boot2.out /usr/obj/usr/src/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/usr/src/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=1575 text=0 data=0 bss=0 entry=0
>>> output: fmt=bin size=1e05 text=200 data=1c05 org=0 entry=0
>>> -5 bytes available
>>
>> This seems to be caused by r242562, which is an MFC of r241301. The
>> code changes are quite trivial though. Strangely enough, on head it
>> does build successfully, but head is using a newer version of clang, so
>> that may explain the difference. Investigating...
>
> I suspect that some earlier space-saving commit was not MFC-ed to stable/9.
>
This can be easily checked:
# cd /usr/src/sys/boot/i386/boot2/
# make clean
# svn up
Updated to revision 242616.
# setenv PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# unsetenv CCACHE_PATH
# /usr/local/bin/clang -v
clang version 3.2 (trunk)
Target: amd64-portbld-freebsd9.1
Thread model: posix
# echo CC=/usr/local/bin/clang >> /etc/src.conf
# echo CXX=/usr/local/bin/clang++ >> /etc/src.conf
# make
....
ld -static -N --gc-sections -nostdlib -m elf_i386_fbsd -Ttext 0x2000 -o
boot2.out /usr/obj/usr/src/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/usr/src/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=154d text=0 data=0 bss=0 entry=0
output: fmt=bin size=1ddd text=200 data=1bdd org=0 entry=0
35 bytes available
dd if=boot2.ld of=boot2 obs=7680 conv=osync
14+1 records in
1+0 records out
7680 bytes transferred in 0.000099 secs (77433305 bytes/sec)
I bet on clang 3.2.
--
Sphinx of black quartz, judge my vow.
More information about the freebsd-stable
mailing list