Clang now builds world and kernel, on i386 and amd64

Dimitry Andric dim at FreeBSD.org
Mon Sep 27 10:38:54 UTC 2010


On 2010-09-27 09:32, Olivier Smedts wrote:
> 2010/9/23 Bartosz Stec<admin at kkip.pl>:
...
>> Assertion failed: (false&&  "Ran out of registers during register
>> allocation!"), function assignRegOrStackSlotAtInterval, file
>> /usr/src/lib/clang/libllvmcodegen/../../../contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp,
>> line 1196.
...
> Same error here with yesterday's -CURRENT, but not at the same time
> (the running system was compiled using gcc) :

As with Bartosz, could you please remove the CPU-specific flags from
make.conf, and try again?

I guess there is something borked in LLVM's Athlon optimization, so it
is probably better to not try to tickly those bugs for now.



> # grep -vE '^#|^$' /etc/make.conf
> KERNCONF=XPC
> CPUTYPE=athlon-xp
> CFLAGS=-O2 -pipe -march=native -fomit-frame-pointer

Using CPUTYPE= and -march= seems a bit redundant. :)


> clang -c -O2 -pipe -march=native -fomit-frame-pointer -DIN_GCC
> -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -DHAVE_GTHR_DEFAULT
> -I/usr/src/gnu/lib/libgcc/../../../contrib/gcclibs/include
> -I/usr/src/gnu/lib/libgcc/../../../contrib/gcc/config
> -I/usr/src/gnu/lib/libgcc/../../../contrib/gcc -I.
> -I/usr/src/gnu/lib/libgcc/../../usr.bin/cc/cc_tools -std=gnu99
> -fvisibility=hidden -DHIDE_EXPORTS -fPIC -fexceptions -D__GLIBC__=3
> -DElfW=__ElfN -o unwind-dw2.o
> /usr/src/gnu/lib/libgcc/../../../contrib/gcc/unwind-dw2.c
> Assertion failed: (!spillIs.empty()&&  "No spill intervals?"),
> function assignRegOrStackSlotAtInterval, file
> /usr/src/lib/clang/libllvmcodegen/../../../contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp,
> line 1287.

I haven't yet seen this one before.  If I can reproduce it, I will
report it upstream, and see if they can come up with a fix.


More information about the freebsd-current mailing list