Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 05 Nov 2012 17:52:29 +0200
From:      Volodymyr Kostyrko <c.kworr@gmail.com>
To:        Andriy Gapon <avg@FreeBSD.org>
Cc:        stable@FreeBSD.org, Dimitry Andric <dim@FreeBSD.org>
Subject:   Re: buildworld fails on recent stable
Message-ID:  <5097E0BD.50909@gmail.com>
In-Reply-To: <5097DE5E.6020405@FreeBSD.org>
References:  <5097A5E0.2000502@gmail.com> <5097D27E.1050705@FreeBSD.org> <5097DE5E.6020405@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5097E0BD.50909>