Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Jun 2013 09:01:28 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        "Jordan K. Hubbard" <jkh@turbofuzz.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Raspberry pi not ready to self-host yet?
Message-ID:  <3B1B1A39-13AF-4718-A9D6-757D6FEFC27F@bsdimp.com>
In-Reply-To: <800732D1-B06A-40AE-AE69-F6170662B2AA@turbofuzz.com>
References:  <800732D1-B06A-40AE-AE69-F6170662B2AA@turbofuzz.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Jun 24, 2013, at 8:55 AM, Jordan K. Hubbard wrote:

> Hi folks,
>=20
> I followed the instructions in the repo at =
https://github.com/daveish/freebsd-arm-tools.git and was able to create =
a bootable SD image for my 512Mb PI in no time with very little hassle - =
nice job there!
>=20
> What I can't seem to manage, however, is to self-host after that.   I =
see someone has already filed =
http://www.freebsd.org/cgi/query-pr.cgi?pr=3D178495 covering the failure =
during buildworld,   You see the same compilation error in =
basic_string.tcc in various ports, like apr:
>=20
> 0.	Program arguments: /usr/bin/c++ -cc1 -triple =
armv6-unknown-freebsd10.0 -S -disable-free -main-file-name cxx_db.cpp =
-mrelocation-model pic -pic-level 2 -mdisable-fp-elim =
-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/cxx_db-5qpGsC.s -resource-dir /usr/bin/../lib/clang/3.3 -D =
_THREAD_SAFE -D PIC -I . -I ./../dist/.. -O2 -fdeprecated-macro =
-fno-dwarf-directory-asm -fdebug-compilation-dir =
/a/ports/databases/db42/work/db-4.2.52/build_unix -ferror-limit 19 =
-fmessage-length 144 -mstackrealign -fno-signed-char =
-fobjc-runtime=3Dgnustep -fobjc-default-synthesize-properties =
-fcxx-exceptions -fexceptions -fsjlj-exceptions =
-fdiagnostics-show-option -fcolor-diagnostics -backend-option =
-vectorize-loops -o /tmp/cxx_db-5qpGsC.s -x c++ =
./../dist/../cxx/cxx_db.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: Segmentation fault (core =
dumped)
> c++: error: clang frontend command failed due to signal (use -v to see =
invocation)

do you have enough swap? Clang is a memory pig dog...

> In the kernel, there seems to be something weird with the atomics =
because linking always fails:
>=20
> kern_event.o: In function `filt_timerattach':
> /a/src/sys/kern/kern_event.c:555: undefined reference to =
`__atomic_load_4'
> /a/src/sys/kern/kern_event.c:559: undefined reference to =
`__atomic_compare_exchange_4'
> kern_event.o: In function `filt_timerdetach':
> /a/src/sys/kern/kern_event.c:584: undefined reference to =
`__atomic_fetch_sub_4'

Now that's odd. I'll look into that...

> I do appreciate that it's a heck of a lot easier to cross-compile for =
these things, and great work getting things to this point, but =
self-hosting is still one of  the magical milestones you always hope an =
embedded target will get to someday, assuming it actually has enough =
grunt to do so (and I think the PI does). :)

I've self-hosted FreeBSD on an Atmel AT91SAM9620 recently (arm v5 =
board)...  Seems odd that cross compile and native built give different =
results. Will look into it. Btw, whats uname -p say for you?

Warner=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B1B1A39-13AF-4718-A9D6-757D6FEFC27F>