Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Apr 2013 20:41:23 -0400
From:      Paul Mather <paul@gromit.dlib.vt.edu>
To:        freebsd-arm@freebsd.org
Subject:   C++ broken on Raspberry Pi?
Message-ID:  <A47AFDC4-FF21-4BE1-8C57-ADF4F94E951A@gromit.dlib.vt.edu>

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

=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/regstr=
lcpy.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/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/BlockF=
requency.cpp =
/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/../../../contrib/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/libllvmsupport/../../../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/Pretty=
StackTrace.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/String=
Extras.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/Valgri=
nd.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/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-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

It seems it is having trouble with C++.  The system is using the 3.3 =
version of clang:

root@pi:/usr/src # c++ -v
FreeBSD clang version 3.3 (trunk 178860) 20130405
Target: armv6-unknown-freebsd10.0
Thread model: posix


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.

Is this a known problem with the toolchain on armv6?

Cheers,

Paul.
=20=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A47AFDC4-FF21-4BE1-8C57-ADF4F94E951A>