W dniu 2010-09-23 16:45, Dimitry Andric pisze:
On 2010-09-23 13:24, Bartosz Stec wrote:
I cannot reproduce this here, running the exact command printed above.
What is the output of "/usr/bin/clang++ -v" ?
# /usr/bin/clang++ -v
FreeBSD clang version 2.8 (branches/release_28 114020) 20100917
Target: i386-undermydesk-freebsd9.0
Thread model: posix
Right, that seems okay enough. Any other information you can give to
help reproduce this issue would be nice. For example, do you have any
special stuff in src.conf or make.conf? Do you have more than one
"clang++" in your PATH, maybe an old port version?
So I've started from scratch:
1. rm -Rf /usr/src/*
2. portinstall subversion-freebsd
3. checkout fresh sources
4. disabled clang debugging in/src/lib/clang/clang.build.mk for speed
measuring
5. rebuild and reinstall world & kernel via GCC (without src.conf)
6. after new world is alive rebuild and reinstall world & kernel via
CLANG (with src.conf, and no problem with this part)
7. Another buildworld try and here's the bug again (output seems to be
different only because of disables debugging):
===> 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
fatal error: error in backend: Ran out of registers during register
allocation!
*** Error code 1
Interesting, because it seems that only clang builded by clang has a
problem to build clang, while clang builded by gcc has not ;)
I've never had clang port installed so problem must be somewhere elsewhere.
src.conf:
.if !defined(CC) || ${CC} == "cc"
CC=clang
.endif
.if !defined(CXX) || ${CXX} == "c++"
CXX=clang++
.endif
# Don't die on warnings
NO_WERROR=
WERROR=
make.conf (note that NOCCACHE was defined in environment during all
builds so ccache wasn't used):
CPUTYPE=athlon-xp
# default build settings for ports collection
.if ${.CURDIR:M*/ports/*} && !defined(NOCCACHE)
CFLAGS=-O2 -pipe
.endif
# default build settings for base system
.if ${.CURDIR:M*/usr/src/*} || ${.CURDIR:M*/usr/obj/*}
CFLAGS=-O2 -pipe
COPTFLAGS=-O2 -pipe
.if !defined(NOCCACHE)
CC:=${CC:C,^cc,/usr/local/libexec/ccache/world-cc,1}
CXX:=${CXX:C,^c\+\+,/usr/local/libexec/ccache/world-c++,1}
.endif
.endif
# added by use.perl 2010-08-10 10:21:21
PERL_VERSION=5.10.1
#echo $PATH
/usr/local/libexec/ccache:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
Also, can you please post the output of the commands:
whereis clang
#whereis clang
clang: /usr/bin/clang /usr/src/usr.bin/clang
#clang++ -v -O2 -save-temps -I/usr/src/contrib/llvm/include
-I/usr/src/contrib/llvm/tools/clang/include
-I/usr/src/contrib/llvm/lib/Support -I. -I/usr/src/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/contrib/llvm/lib/Support/APFloat.cpp
FreeBSD clang version 2.8 (branches/release_28 114020) 20100917
Target: i386-undermydesk-freebsd9.0
Thread model: posix
"/usr/bin/clang++" -cc1 -triple i386-undermydesk-freebsd9.0 -E
-disable-free -disable-llvm-verifier -main-file-name APFloat.cpp
-mrelocation-model static -mdisable-fp-elim -mconstructor-aliases
-target-cpu i486 -v -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/contrib/llvm/include -I
/usr/src/contrib/llvm/tools/clang/include -I
/usr/src/contrib/llvm/lib/Support -I . -I /usr/src/lib/clang/include
-I /usr/obj/usr/src/tmp/legacy/usr/include -O2 -ferror-limit 19
-fmessage-length 116 -fgnu-runtime -fdiagnostics-show-option
-fcolor-diagnostics -o APFloat.ii -x c++
/usr/src/contrib/llvm/lib/Support/APFloat.cpp
clang -cc1 version 2.8 based upon llvm 2.8svn hosted on
i386-undermydesk-freebsd9.0
ignoring nonexistent directory "/usr/include/c++/4.2/backward/backward"
ignoring nonexistent directory "/usr/lib/clang/2.8/include"
ignoring duplicate directory "/usr/include/c++/4.2"
ignoring duplicate directory "/usr/include/c++/4.2/backward"
ignoring duplicate directory "/usr/include/c++/4.2/backward"
#include "..." search starts here:
#include <...> search starts here:
/usr/src/contrib/llvm/include
/usr/src/contrib/llvm/tools/clang/include
/usr/src/contrib/llvm/lib/Support
.
/usr/src/lib/clang/include
/usr/obj/usr/src/tmp/legacy/usr/include
/usr/include/c++/4.2
/usr/include/c++/4.2/backward
/usr/include/clang/2.8
/usr/include
End of search list.
"/usr/bin/clang++" -cc1 -triple i386-undermydesk-freebsd9.0 -S
-disable-free -disable-llvm-verifier -main-file-name APFloat.cpp
-mrelocation-model static -mdisable-fp-elim -mconstructor-aliases
-target-cpu i486 -v -resource-dir /usr/lib/clang/2.8 -O2
-ferror-limit 19 -fmessage-length 116 -fgnu-runtime
-fdiagnostics-show-option -fcolor-diagnostics -o APFloat.s -x
c++-cpp-output APFloat.ii
clang -cc1 version 2.8 based upon llvm 2.8svn hosted on
i386-undermydesk-freebsd9.0
ignoring nonexistent directory "/usr/include/c++/4.2/backward/backward"
ignoring nonexistent directory "/usr/lib/clang/2.8/include"
ignoring duplicate directory "/usr/include/c++/4.2"
ignoring duplicate directory "/usr/include/c++/4.2/backward"
ignoring duplicate directory "/usr/include/c++/4.2/backward"
#include "..." search starts here:
#include <...> search starts here:
/usr/include/c++/4.2
/usr/include/c++/4.2/backward
/usr/include/clang/2.8
/usr/include
End of search list.
fatal error: error in backend: Ran out of registers during register
allocation!
and the resulting APFloat.ii, APFloat.s (if clang manages to produce
it)?
APFloat.s was created and it's empty.
Here you can grab the other: http://ncpnc.obsysa.net/tmp/APFloat.ii.bz2
--
Bartosz Stec
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"