Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Sep 2013 10:02:12 -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:  <BF4F10EA-7E7B-4844-8A4C-E83439ABCD2D@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...

I increased the amount of swap to 6 GB and also moved /tmp from a =
swap-backed md-device to its own UFS file system on the external USB =
hard drive I'm using, but I still get an error when doing "make =
buildkernel":

=3D=3D=3D=3D=3D
[[...]]
cc  -c -O -pipe  -std=3Dc99 -g -Wall -Wredundant-decls -Wnested-externs =
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline =
-Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  =
-Wmissing-include-dirs -fdiagnostics-show-option  =
-Wno-error-tautological-compare -Wno-error-empty-body  =
-Wno-error-parentheses-equality  -nostdinc  -I. -I/usr/src/sys =
-I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/libfdt -D_KERNEL =
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -funwind-tables =
-mllvm -arm-enable-ehabi -ffreestanding -Werror  =
/usr/src/sys/fs/nfsclient/nfs_clsubs.c
cc  -c -O -pipe  -std=3Dc99 -g -Wall -Wredundant-decls -Wnested-externs =
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline =
-Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  =
-Wmissing-include-dirs -fdiagnostics-show-option  =
-Wno-error-tautological-compare -Wno-error-empty-body  =
-Wno-error-parentheses-equality  -nostdinc  -I. -I/usr/src/sys =
-I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/libfdt -D_KERNEL =
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -funwind-tables =
-mllvm -arm-enable-ehabi -ffreestanding -Werror  =
/usr/src/sys/fs/nfsclient/nfs_clstate.c
Stack dump:
0.	Program arguments: /usr/obj/usr/src/tmp/usr/bin/cc -cc1 -triple =
armv6--freebsd10.0-gnueabi -S -disable-free -main-file-name =
nfs_clstate.c -mrelocation-model static -mdisable-fp-elim =
-mconstructor-aliases -munwind-tables -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 -g =
-coverage-file /tmp/nfs_clstate-O8Eo9U.s -nostdsysteminc -nobuiltininc =
-resource-dir /usr/obj/usr/src/tmp/usr/bin/../lib/clang/3.3 -include =
opt_global.h -D _KERNEL -D HAVE_KERNEL_OPTION_HEADERS -I . -I =
/usr/src/sys -I /usr/src/sys/contrib/altq -I /usr/src/sys/contrib/libfdt =
-isysroot /usr/obj/usr/src/tmp -O2 -Wall -Wredundant-decls =
-Wnested-externs -Wstrict-prototypes -Wmissing-prototypes =
-Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign =
-Wmissing-include-dirs -Wno-error-tautological-compare =
-Wno-error-empty-body -Wno-error-parentheses-equality -Werror -std=3Dc99 =
-fno-dwarf-directory-asm -fdebug-compilation-dir =
/usr/obj/usr/src/sys/BEAGLEBONE -ferror-limit 19 -fmessage-length 0 =
-ffreestanding -fformat-extensions -mstackrealign -fno-signed-char =
-fobjc-runtime=3Dgnustep -fobjc-default-synthesize-properties =
-fdiagnostics-show-option -backend-option -vectorize-loops -mllvm =
-arm-enable-ehabi -o /tmp/nfs_clstate-O8Eo9U.s -x c =
/usr/src/sys/fs/nfsclient/nfs_clstate.c=20
1.	/usr/src/sys/fs/nfsclient/nfs_clstate.c:608:1: current parser =
token 'static'
2.	/usr/src/sys/fs/nfsclient/nfs_clstate.c:476:1: parsing function =
body 'nfscl_getstateid'
error: unable to rename temporary '/tmp/nfs_clstate-O8Eo9U.s-2f4669b4' =
to output file '/tmp/nfs_clstate-O8Eo9U.s': 'No such file or directory'
1 error generated.
*** Error code 1

Stop.
make[2]: stopped in /usr/obj/usr/src/sys/BEAGLEBONE
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src
=3D=3D=3D=3D=3D

The USB hard drive I'm using has its own power supply, and I'm using a =
5V 2A power supply with the BeagleBone Black, so I don't think this =
error is due to flaky power instability.

I've never seen the above error before, and it doesn't make much sense =
to me.  I'm going to try and see if I can build the BEAGLEBONE kernel =
natively on my Raspberry Pi, next.  Failing that, it'll have to be =
another Crochet image for my BeagleBone Black.

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?BF4F10EA-7E7B-4844-8A4C-E83439ABCD2D>