Re: Clang now builds world and kernel, on i386 and amd64

From: Bartosz Stec <admin_at_kkip.pl>
Date: Thu, 23 Sep 2010 12:55:03 +0200
  On 2010-09-23 08:51, Roman Divacky wrote:
> if you want to post any build-time numbers for clang please
>
>            -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS #-DNDEBUG
>
> uncomment the -DNDEBUG on this line in lib/clang/clang.build.mk
> and rebuild it otherwise you are using Release+Asserts build of
> clang which is some 30% slower than the normal one...
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
When i try to rebuild world again (machine has world and kernel builded 
with clang) I cought following problem at the very beginning:

--------------------------------------------------------------
 >>> World build started on Thu Sep 23 12:46:55 CEST 2010
--------------------------------------------------------------

--------------------------------------------------------------
 >>> Rebuilding the temporary build tree
--------------------------------------------------------------
rm -rf /usr/obj/usr/src/tmp
mkdir -p /usr/obj/usr/src/tmp/lib
mkdir -p /usr/obj/usr/src/tmp/usr
mkdir -p /usr/obj/usr/src/tmp/legacy/usr
mtree -deU -f /usr/src/etc/mtree/BSD.usr.dist  -p 
/usr/obj/usr/src/tmp/legacy/usr >/dev/null
mtree -deU -f /usr/src/etc/mtree/BSD.usr.dist  -p 
/usr/obj/usr/src/tmp/usr >/dev/null
mtree -deU -f /usr/src/etc/mtree/BSD.include.dist  -p 
/usr/obj/usr/src/tmp/usr/include >/dev/null
ln -sf /usr/src/sys /usr/obj/usr/src/tmp

--------------------------------------------------------------
 >>> stage 1.1: legacy release compatibility shims
--------------------------------------------------------------
cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj/usr/src/tmp  INSTALL="sh 
/usr/src/tools/install.sh"  
PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/sbin:/bin:/usr/sbin:/usr/bin  
WORLDTMP=/usr/obj/usr/src/tmp  VERSION="FreeBSD 9.0-CURRENT i386 
900021"  MAKEFLAGS="-m /usr/src/tools/build/mk  -m /usr/src/share/mk" 
make -f Makefile.inc1  DESTDIR=  BOOTSTRAPPING=900021  SSP_CFLAGS=  
-DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN  -DNO_PIC 
-DWITHOUT_PROFILE -DNO_SHARED  -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF legacy
===> tools/build (obj,includes,depend,all,install)
/usr/obj/usr/src/tmp/usr/src/tools/build created for /usr/src/tools/build
cd /usr/src/tools/build; make buildincludes; make installincludes
rm -f .depend
CC='clang' mkdep -f .depend -a    
-I/usr/obj/usr/src/tmp/legacy/usr/include /usr/src/tools/build/dummy.c
clang -O2 -pipe -std=gnu99   -I/usr/obj/usr/src/tmp/legacy/usr/include 
-c /usr/src/tools/build/dummy.c
building static egacy library
ranlib libegacy.a
sh /usr/src/tools/install.sh -C -o root -g wheel -m 444   libegacy.a 
/usr/obj/usr/src/tmp/legacy/usr/lib

--------------------------------------------------------------
 >>> stage 1.2: bootstrap tools
--------------------------------------------------------------
cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj/usr/src/tmp  INSTALL="sh 
/usr/src/tools/install.sh"  
PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/sbin:/bin:/usr/sbin:/usr/bin  
WORLDTMP=/usr/obj/usr/src/tmp  VERSION="FreeBSD 9.0-CURRENT i386 
900021"  MAKEFLAGS="-m /usr/src/tools/build/mk  -m /usr/src/share/mk" 
make -f Makefile.inc1  DESTDIR=  BOOTSTRAPPING=900021  SSP_CFLAGS=  
-DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN  -DNO_PIC 
-DWITHOUT_PROFILE -DNO_SHARED  -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF 
bootstrap-tools
===> lib/clang/libllvmsupport (obj,depend,all,install)
/usr/obj/usr/src/tmp/usr/src/lib/clang/libllvmsupport created for 
/usr/src/lib/clang/libllvmsupport
rm -f .depend
CC='clang' mkdep -f .depend -a    
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include 
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/include 
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support 
-I. 
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/../../lib/clang/include 
-DLLVM_ON_UNIX -DLLVM_ON_FREEBSD -D__STDC_LIMIT_MACROS 
-D__STDC_CONSTANT_MACROS -DNDEBUG 
-DLLVM_HOSTTRIPLE=\"i386-undermydesk-freebsd9.0\" 
-I/usr/obj/usr/src/tmp/legacy/usr/include 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regcomp.c 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regerror.c 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regexec.c 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regfree.c 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regstrlcpy.c
CC='clang' mkdep -f .depend -a    
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include 
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/include 
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support 
-I. 
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/../../lib/clang/include 
-DLLVM_ON_UNIX -DLLVM_ON_FREEBSD -D__STDC_LIMIT_MACROS 
-D__STDC_CONSTANT_MACROS -DNDEBUG 
-DLLVM_HOSTTRIPLE=\"i386-undermydesk-freebsd9.0\" 
-I/usr/obj/usr/src/tmp/legacy/usr/include    
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloat.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APInt.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APSInt.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Allocator.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/CommandLine.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ConstantRange.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/CrashRecoveryContext.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/DAGDeltaAlgorithm.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Debug.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/DeltaAlgorithm.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Dwarf.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ErrorHandling.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/FoldingSet.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/FormattedStream.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/GraphWriter.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ManagedStatic.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/MemoryBuffer.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/PluginLoader.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/PrettyStackTrace.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Regex.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SmallPtrSet.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SmallVector.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SourceMgr.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Statistic.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringExtras.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringMap.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringPool.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringRef.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/TargetRegistry.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Timer.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Triple.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Twine.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/circular_raw_ostream.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/raw_os_ostream.cpp 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/raw_ostream.cpp
clang++ -O2 -pipe 
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include 
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/include 
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support 
-I. 
-I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/../../lib/clang/include 
-DLLVM_ON_UNIX -DLLVM_ON_FREEBSD -D__STDC_LIMIT_MACROS 
-D__STDC_CONSTANT_MACROS -DNDEBUG 
-DLLVM_HOSTTRIPLE=\"i386-undermydesk-freebsd9.0\" -fno-exceptions 
-I/usr/obj/usr/src/tmp/legacy/usr/include -c 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloat.cpp
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.
Stack dump:
0.      Program arguments: /usr/bin/clang++ -cc1 -triple 
i386-undermydesk-freebsd9.0 -S -disable-free -main-file-name APFloat.cpp 
-mrelocation-model static -mdisable-fp-elim -mconstructor-aliases 
-target-cpu i486 -resource-dir /usr/lib/clang/2.8 -D LLVM_ON_UNIX -D 
LLVM_ON_FREEBSD -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -D 
NDEBUG -D LLVM_HOSTTRIPLE="i386-undermydesk-freebsd9.0" -I 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include -I 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/include 
-I /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support 
-I . -I 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/../../lib/clang/include 
-I /usr/obj/usr/src/tmp/legacy/usr/include -O2 -ferror-limit 19 
-fmessage-length 205 -fgnu-runtime -fdiagnostics-show-option 
-fcolor-diagnostics -o /tmp/cc-lvFfGd.s -x c++ 
/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloat.cpp
1. <eof> parser at end of file
2.      Code generation
3.      Running pass 'Linear Scan Register Allocator' on function 
'_at__ZN4llvm7APFloat28convertFromHexadecimalStringENS_9StringRefENS0_12roundingModeE'
clang++: error: clang frontend command failed due to signal 6 (use -v to 
see invocation)
*** Error code 250
Received on Thu Sep 23 2010 - 08:55:20 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:07 UTC