Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Sep 2013 18:47:28 -0400
From:      Paul Mather <paul@gromit.dlib.vt.edu>
To:        Warner Losh <imp@bsdimp.com>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: A successful native build using clang at last---just!
Message-ID:  <621E74E9-602E-4005-B418-480C183B9D6D@gromit.dlib.vt.edu>
In-Reply-To: <144C741C-550E-4874-9F10-093959204270@bsdimp.com>
References:  <581873CA-BFB9-4287-9DFE-46A262B4459A@gromit.dlib.vt.edu> <D4AAAC09-3C46-4FFD-9A82-65EC1A94139F@bsdimp.com> <48D945AB-1303-4ECB-9250-1DEA548FAECA@gromit.dlib.vt.edu> <144C741C-550E-4874-9F10-093959204270@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sep 15, 2013, at 6:02 PM, Warner Losh <imp@bsdimp.com> wrote:

>=20
> On Sep 15, 2013, at 3:52 PM, Paul Mather wrote:
>=20
>> On Sep 15, 2013, at 5:34 PM, Warner Losh <imp@bsdimp.com> wrote:
>>=20
>>> Do you have swap space configured? clang building clang takes a lot =
of memory...
>>=20
>> Yes, I have swap space configured (see item 2 below).  It's on an =
external USB drive (as are /usr/src and /usr/obj), and the swap =
partition is 2 GB in size.
>=20
> 2GB might not be enough...   I always configure 6GB of swap, but I use =
a sparse zerod file to do it. Might be worth a shot...

True, it's worth a shot.  I'll try adding more swap space, but I doubt =
it will help.  Looking at swap usage during the build, it never seems to =
consume more than a few MB of swap, and has never come anywhere near =
using the 2 GB that is already configured.

It's odd, too, that 2 GB swap is enough to complete a native build on a =
Raspberry Pi Model B and not a BeagleBone Black (both 512 MB RAM =
systems).

Also, as noted, processes appear to die when memory used by them is =
paged back in, so I'm wondering if there's a bug in swap handling on =
FreeBSD/arm to blame?

Cheers,

Paul.

>=20
>> Note, this is a native build.  I don't have problems cross-building =
FreeBSD/arm using Crochet on FreeBSD/amd64.
>=20
> Yea, amd64 machine likely has lots of memory...
>=20
> Warner
>=20
>> Cheers,
>>=20
>> Paul.
>>=20
>>>=20
>>> Warner
>>>=20
>>>=20
>>> On Sep 15, 2013, at 3:19 PM, Paul Mather wrote:
>>>=20
>>>> After quite a bit of trying, I finally was able to complete a =
native build and upgrade using clang on FreeBSD/arm.  I used r255420 as =
the build platform and was able to upgrade to r255586 on my Raspberry =
Pi.
>>>>=20
>>>> Here are some observations:
>>>>=20
>>>> 1) For some reason this same upgrade failed on my BeagleBone Black =
(also running r255420).  It fails early on with this error and doesn't =
get past it:
>>>>=20
>>>> [[...]]
>>>> c++  -O -pipe =
-I/usr/src/lib/clang/libllvmtablegen/../../../contrib/llvm/include =
-I/usr/src/lib/clang/libllvmtablegen/../../../contrib/llvm/tools/clang/inc=
lude =
-I/usr/src/lib/clang/libllvmtablegen/../../../contrib/llvm/lib/TableGen =
-I. =
-I/usr/src/lib/clang/libllvmtablegen/../../../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-gnueabi-freebsd10.0\" =
-DLLVM_HOST_TRIPLE=3D\"armv6-unknown-freebsd10.0\" =
-DDEFAULT_SYSROOT=3D\"\" -I/usr/obj/usr/src/tmp/legacy/usr/include =
-Wno-c++11-extensions -fno-exceptions -fno-rtti -c =
/usr/src/lib/clang/libllvmtablegen/../../../contrib/llvm/lib/TableGen/TGPa=
rser.cpp -o TGParser.o
>>>> Assertion failed: (!FoundVal && "Key already in new map?"), =
function moveFromOldBuckets, file =
/usr/src/lib/clang/libclangast/../../../contrib/llvm/include/llvm/ADT/Dens=
eMap.h, line 289.
>>>> Stack dump:
>>>> 0.	Program arguments: /usr/bin/c++ -cc1 -triple =
armv6--freebsd10.0-gnueabi -S -disable-free -main-file-name TGParser.cpp =
-mrelocation-model static -mdisable-fp-elim -relaxed-aliasing =
-mconstructor-aliases -target-abi aapcs-linux -target-cpu arm1136jf-s =
-msoft-float -mfloat-abi soft -target-feature +soft-float =
-target-feature +soft-float-abi -target-feature -neon -coverage-file =
/tmp/TGParser-KtbaOq.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-gnueabi-freebsd10.0" -D =
LLVM_HOST_TRIPLE=3D"armv6-unknown-freebsd10.0" -D DEFAULT_SYSROOT=3D"" =
-I /usr/src/lib/clang/libllvmtablegen/../../../contrib/llvm/include -I =
/usr/src/lib/clang/libllvmtablegen/../../../contrib/llvm/tools/clang/inclu=
de -I =
/usr/src/lib/clang/libllvmtablegen/../../../contrib/llvm/lib/TableGen -I =
. -I =
/usr/src/lib/clang/libllvmtablegen/../../../contrib/llvm/../../lib/clang/i=
nclude -I /usr/obj/usr/src/tmp/l
>>>> egacy/usr/include -internal-isystem /usr/include/c++/v1 -O2 =
-Wno-c++11-extensions -fdeprecated-macro -fno-dwarf-directory-asm =
-fdebug-compilation-dir =
/usr/obj/usr/src/tmp/usr/src/lib/clang/libllvmtablegen -ferror-limit 19 =
-fmessage-length 0 -mstackrealign -fno-rtti -fno-signed-char =
-fobjc-runtime=3Dgnustep -fobjc-default-synthesize-properties =
-fdiagnostics-show-option -backend-option -vectorize-loops -o =
/tmp/TGParser-KtbaOq.s -x c++ =
/usr/src/lib/clang/libllvmtablegen/../../../contrib/llvm/lib/TableGen/TGPa=
rser.cpp=20
>>>> 1.	/usr/include/c++/v1/locale:3072:48: current parser token 'init'
>>>> 2.	/usr/include/c++/v1/locale:205:1 =
<Spelling=3D/usr/include/c++/v1/__config:321:37>: parsing namespace =
'std'
>>>> 3.	/usr/include/c++/v1/locale:205:1 =
<Spelling=3D/usr/include/c++/v1/__config:321:59>: parsing namespace =
'__1'
>>>> 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 (tags/RELEASE_33/final 183502) 20130610
>>>> Target: armv6--freebsd10.0-gnueabi
>>>> 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).
>>>> *** Error code 254
>>>>=20
>>>> Stop.
>>>> make[3]: stopped in /usr/src/lib/clang/libllvmtablegen
>>>> *** Error code 1
>>>>=20
>>>> Stop.
>>>> make[2]: stopped in /usr/src
>>>> *** Error code 1
>>>>=20
>>>> Stop.
>>>> make[1]: stopped in /usr/src
>>>> *** Error code 1
>>>>=20
>>>> Stop.
>>>> make: stopped in /usr/src
>>>>=20
>>>> 2) The successful upgrade on Raspberry Pi had to be restarted a =
couple of times (using -DNO_CLEAN) due to hangs.  I have noticed =
problems with the system when swap is used.  Paging out to swap seems =
okay, but processes appear to die when they are paged back in from swap. =
 Sometimes, this hangs the system.
>>>>=20
>>>> 3) FWIW, I am running with super pages enabled: =
vm.pmap.sp_enabled=3D1.
>>>>=20
>>>> Cheers,
>>>>=20
>>>> Paul.
>>>> _______________________________________________
>>>> 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?621E74E9-602E-4005-B418-480C183B9D6D>