Date: Mon, 15 Apr 2013 21:14:08 -0400 From: Paul Mather <paul@gromit.dlib.vt.edu> To: Warner Losh <imp@bsdimp.com> Cc: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Subject: Re: C++ broken on Raspberry Pi? Message-ID: <8B2143F4-0A43-420D-A425-0AECE07885BA@gromit.dlib.vt.edu> In-Reply-To: <108FBB0F-78BF-48D0-97AB-0BE617E4E2E5@bsdimp.com> References: <A47AFDC4-FF21-4BE1-8C57-ADF4F94E951A@gromit.dlib.vt.edu> <1AAD4A90-8EE4-476A-A2B5-3D9989BC1029@bsdimp.com> <8CA34545-59FC-40B4-8797-BAA1D5A63609@gromit.dlib.vt.edu> <108FBB0F-78BF-48D0-97AB-0BE617E4E2E5@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 15, 2013, at 8:56 PM, Warner Losh <imp@bsdimp.com> wrote: >=20 > On Apr 15, 2013, at 6:47 PM, Paul Mather wrote: >=20 >>=20 >> On Apr 15, 2013, at 8:45 PM, Warner Losh <imp@bsdimp.com> wrote: >>=20 >>> Did you run out of memory? >>=20 >> I don't think I did. I have 1 GB of swap configured, so, hopefully = not. >=20 > clang eats a lot of memory, maybe you should monitor it with top(1) on = another screen/session and see if you run out of swap just before it = fails. >=20 > I'd expect numbers more like 5G to be needed... I just tried it again, monitoring with top. It doesn't even hit swap = before failing. It looks to me it is more an internal compiler error = than an out-of-memory error: =3D=3D=3D=3D=3D c++ -O -pipe = -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include = -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/incl= ude = -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 -fno-strict-aliasing = -DLLVM_DEFAULT_TARGET_TRIPLE=3D\"armv6-unknown-freebsd10.0\" = -DLLVM_HOSTTRIPLE=3D\"armv6-unknown-freebsd10.0\" -DDEFAULT_SYSROOT=3D\"\"= -I/usr/obj/usr/src/tmp/legacy/usr/include -fno-exceptions -fno-rtti -c = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloa= t.cpp -o APFloat.o Assertion failed: ((PtrVal & ((1 << PtrTraits::NumLowBitsAvailable)-1)) = =3D=3D 0 && "Pointer is not sufficiently aligned"), function = initWithPointer, file = /usr/src/lib/clang/libclangsema/../../../contrib/llvm/include/llvm/ADT/Poi= nterIntPair.h, line 100. Stack dump: 0. Program arguments: /usr/bin/c++ -cc1 -triple = armv6-unknown-freebsd10.0 -S -disable-free -main-file-name APFloat.cpp = -mrelocation-model static -mdisable-fp-elim -relaxed-aliasing = -mconstructor-aliases -target-abi apcs-gnu -target-cpu arm1136jf-s = -msoft-float -mfloat-abi soft -target-feature +soft-float = -target-feature +soft-float-abi -target-feature -neon -coverage-file = /tmp/APFloat-1Uv0ML.s -resource-dir /usr/bin/../lib/clang/3.3 -D = LLVM_ON_UNIX -D LLVM_ON_FREEBSD -D __STDC_LIMIT_MACROS -D = __STDC_CONSTANT_MACROS -D = LLVM_DEFAULT_TARGET_TRIPLE=3D"armv6-unknown-freebsd10.0" -D = LLVM_HOSTTRIPLE=3D"armv6-unknown-freebsd10.0" -D DEFAULT_SYSROOT=3D"" -I = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include -I = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/includ= e -I /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support = -I . -I = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/../../lib/clang/in= clude -I /usr/obj/usr/src/tmp/legacy/usr/include -O2 -fdeprecated-macro = -fno-dwarf-directory-asm -fdebug-compilation-dir = /usr/obj/usr/src/tmp/usr/src/lib/clang/libllvmsupport -ferror-limit 19 = -fmessage-length 0 -mstackrealign -fno-rtti -fno-signed-char = -fobjc-runtime=3Dgnustep -fobjc-default-synthesize-properties = -fsjlj-exceptions -fdiagnostics-show-option -backend-option = -vectorize-loops -o /tmp/APFloat-1Uv0ML.s -x c++ = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloa= t.cpp=20 1. /usr/include/c++/4.2/bits/basic_string.tcc:978:43: current = parser token ';' 2. /usr/include/c++/4.2/bits/basic_string.tcc:48:1 = <Spelling=3D/usr/include/c++/4.2/bits/c++config.h:76:38>: parsing = namespace 'std' c++: error: unable to execute command: Abort trap (core dumped) c++: error: clang frontend command failed due to signal (use -v to see = invocation) FreeBSD clang version 3.3 (trunk 178860) 20130405 Target: armv6-unknown-freebsd10.0 Thread model: posix c++: note: diagnostic msg: PLEASE submit a bug report to = http://llvm.org/bugs/ and include the crash backtrace, preprocessed = source, and associated run script. c++: note: diagnostic msg: Error generating preprocessed source(s). *** [APFloat.o] Error code 254 1 error *** [bootstrap-tools] Error code 2 1 error *** [_bootstrap-tools] Error code 2 1 error *** [buildworld] Error code 2 1 error =3D=3D=3D=3D=3D I.e., the "Assertion failed: ((PtrVal & ((1 << = PtrTraits::NumLowBitsAvailable)-1)) =3D=3D 0 && "Pointer is not = sufficiently aligned")" BTW, this is on a Raspberry Pi Model B with 16 MB of the 512 MB of RAM = for the GPU. Cheers, Paul. PS: Does it really take that much RAM to build clang on ARM? I build = 9-STABLE (clang 3.2) on an amd64 and i386 system and each has 2 GB of = RAM and 2.5 GB of swap and they build it without problem and usually = without hitting swap. >=20 > Warner >=20 >=20 >> Cheers, >>=20 >> Paul. >>=20 >>=20 >>>=20 >>> Warner >>>=20 >>> On Apr 15, 2013, at 6:41 PM, Paul Mather wrote: >>>=20 >>>> I recently bought a Raspberry Pi and have been running FreeBSD = 10-CURRENT on it (r249461). My system is running an image built using = Tim Kientzle's Crochet scripts on a FreeBSD/amd64 10-CURRENT build = system. I just tried doing a native build on the Raspberry Pi itself = but the buildworld fails fairly early on: >>>>=20 >>>> =3D=3D=3D=3D=3D >>>> [...] >>>> mkdep -f .depend -a = -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include = -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/incl= ude = -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 = -DLLVM_DEFAULT_TARGET_TRIPLE=3D\"armv6-unknown-freebsd10.0\" = -DLLVM_HOSTTRIPLE=3D\"armv6-unknown-freebsd10.0\" -DDEFAULT_SYSROOT=3D\"\"= -I/usr/obj/usr/src/tmp/legacy/usr/include -std=3Dgnu99 = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Conver= tUTF.c = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regcom= p.c = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regerr= or.c = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regexe= c.c = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regfre= e.c /usr/src >>>> = /lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regstrlcpy.c >>>> mkdep -f .depend -a = -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include = -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/incl= ude = -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 = -DLLVM_DEFAULT_TARGET_TRIPLE=3D\"armv6-unknown-freebsd10.0\" = -DLLVM_HOSTTRIPLE=3D\"armv6-unknown-freebsd10.0\" -DDEFAULT_SYSROOT=3D\"\"= -I/usr/obj/usr/src/tmp/legacy/usr/include = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloa= t.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/Alloca= tor.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Atomic= .cpp /usr/src/l >>>> = ib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/BlockFrequency.c= pp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Branch= Probability.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Comman= dLine.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Consta= ntRange.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Conver= tUTFWrapper.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/CrashR= ecoveryContext.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/DAGDel= taAlgorithm.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Debug.= cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/DeltaA= lgorithm.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Dwarf.= cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Dynami= cLibrary.cpp /usr/src/lib/clang/libllvmsupport/../../../contri >>>> b/llvm/lib/Support/Errno.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ErrorH= andling.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/FileOu= tputBuffer.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Foldin= gSet.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Format= tedStream.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/GraphW= riter.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Hashin= g.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Host.c= pp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Includ= eFile.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/IntEqC= lasses.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Interv= alMap.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Intrus= iveRefCntPtr.cpp /usr/src/lib/clang/libllvmsup >>>> port/../../../contrib/llvm/lib/Support/IsInf.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/IsNAN.= cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Locale= .cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/LockFi= leManager.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Manage= dStatic.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Memory= .cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Memory= Buffer.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Memory= Object.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Mutex.= cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Path.c= pp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/PathV2= .cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Plugin= Loader.cpp /usr/src/lib/clang/libllvmsupport/../../. >>>> ./contrib/llvm/lib/Support/PrettyStackTrace.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Proces= s.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Progra= m.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/RWMute= x.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Regex.= cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Search= ForAddressOfSpecialSymbol.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Signal= s.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SmallP= trSet.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SmallV= ector.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Source= Mgr.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Statis= tic.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Stream= ableMemoryObject.cpp /usr/src/lib >>>> = /clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringExtras.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/String= Map.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/String= Pool.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/String= Ref.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Target= Registry.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Thread= Local.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Thread= ing.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/TimeVa= lue.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Timer.= cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ToolOu= tputFile.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/Valgrind.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Watchd= og.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/YAMLPa= rser.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/YAMLTr= aits.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/circul= ar_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_os= tream.cpp = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/system= _error.cpp=20 >>>> c++ -O -pipe = -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include = -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/incl= ude = -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 -fno-strict-aliasing = -DLLVM_DEFAULT_TARGET_TRIPLE=3D\"armv6-unknown-freebsd10.0\" = -DLLVM_HOSTTRIPLE=3D\"armv6-unknown-freebsd10.0\" -DDEFAULT_SYSROOT=3D\"\"= -I/usr/obj/usr/src/tmp/legacy/usr/include -fno-exceptions -fno-rtti -c = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloa= t.cpp -o APFloat.o >>>> Assertion failed: ((PtrVal & ((1 << = PtrTraits::NumLowBitsAvailable)-1)) =3D=3D 0 && "Pointer is not = sufficiently aligned"), function initWithPointer, file = /usr/src/lib/clang/libclangsema/../../../contrib/llvm/include/llvm/ADT/Poi= nterIntPair.h, line 100. >>>> Stack dump: >>>> 0. Program arguments: /usr/bin/c++ -cc1 -triple = armv6-unknown-freebsd10.0 -S -disable-free -main-file-name APFloat.cpp = -mrelocation-model static -mdisable-fp-elim -relaxed-aliasing = -mconstructor-aliases -target-abi apcs-gnu -target-cpu arm1136jf-s = -msoft-float -mfloat-abi soft -target-feature +soft-float = -target-feature +soft-float-abi -target-feature -neon -coverage-file = /tmp/APFloat-6ga4Rp.s -resource-dir /usr/bin/../lib/clang/3.3 -D = LLVM_ON_UNIX -D LLVM_ON_FREEBSD -D __STDC_LIMIT_MACROS -D = __STDC_CONSTANT_MACROS -D = LLVM_DEFAULT_TARGET_TRIPLE=3D"armv6-unknown-freebsd10.0" -D = LLVM_HOSTTRIPLE=3D"armv6-unknown-freebsd10.0" -D DEFAULT_SYSROOT=3D"" -I = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include -I = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/includ= e -I /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support = -I . -I = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/../../lib/clang/in= clude -I /usr/obj/usr/src/tmp/legacy/usr/in >>>> clude -O2 -fdeprecated-macro -fno-dwarf-directory-asm = -fdebug-compilation-dir = /usr/obj/usr/src/tmp/usr/src/lib/clang/libllvmsupport -ferror-limit 19 = -fmessage-length 0 -mstackrealign -fno-rtti -fno-signed-char = -fobjc-runtime=3Dgnustep -fobjc-default-synthesize-properties = -fsjlj-exceptions -fdiagnostics-show-option -backend-option = -vectorize-loops -o /tmp/APFloat-6ga4Rp.s -x c++ = /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloa= t.cpp=20 >>>> 1. /usr/include/c++/4.2/bits/basic_string.tcc:978:43: current = parser token ';' >>>> 2. /usr/include/c++/4.2/bits/basic_string.tcc:48:1 = <Spelling=3D/usr/include/c++/4.2/bits/c++config.h:76:38>: parsing = namespace 'std' >>>> c++: error: unable to execute command: Abort trap (core dumped) >>>> c++: error: clang frontend command failed due to signal (use -v to = see invocation) >>>> FreeBSD clang version 3.3 (trunk 178860) 20130405 >>>> Target: armv6-unknown-freebsd10.0 >>>> Thread model: posix >>>> c++: note: diagnostic msg: PLEASE submit a bug report to = http://llvm.org/bugs/ and include the crash backtrace, preprocessed = source, and associated run script. >>>> c++: note: diagnostic msg: Error generating preprocessed source(s). >>>> *** [APFloat.o] Error code 254 >>>> 1 error >>>> *** [bootstrap-tools] Error code 2 >>>> 1 error >>>> *** [_bootstrap-tools] Error code 2 >>>> 1 error >>>> *** [buildworld] Error code 2 >>>> 1 error >>>> =3D=3D=3D=3D=3D >>>>=20 >>>> It seems it is having trouble with C++. The system is using the = 3.3 version of clang: >>>>=20 >>>> root@pi:/usr/src # c++ -v >>>> FreeBSD clang version 3.3 (trunk 178860) 20130405 >>>> Target: armv6-unknown-freebsd10.0 >>>> Thread model: posix >>>>=20 >>>>=20 >>>> I had the same problem with clang 3.2, too. I've also had problems = with C++ building ports. For example, I can't install devel/subversion = because it fails to build databases/db42 due to a C++ problem. >>>>=20 >>>> Is this a known problem with the toolchain on armv6? >>>>=20 >>>> Cheers, >>>>=20 >>>> Paul. >>>>=20 >>>> _______________________________________________ >>>> freebsd-arm@freebsd.org mailing list >>>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm >>>> To unsubscribe, send any mail to = "freebsd-arm-unsubscribe@freebsd.org" >>>=20 >>=20 >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8B2143F4-0A43-420D-A425-0AECE07885BA>