Raspberry pi not ready to self-host yet?

Alie Tan alie at affle.com
Tue Jun 25 03:08:03 UTC 2013


On Mon, Jun 24, 2013 at 11:18 PM, Paul Mather <pmather at vt.edu> wrote:

> On Jun 24, 2013, at 11:01 AM, Warner Losh <imp at bsdimp.com> wrote:
>
> >
> > On Jun 24, 2013, at 8:55 AM, Jordan K. Hubbard wrote:
> >
> >> Hi folks,
> >>
> >> 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!
> >>
> >> 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=178495 covering the failure
> during buildworld,   You see the same compilation error in basic_string.tcc
> in various ports, like apr:
> >>
> >> 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=gnustep
> -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
> >> 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=/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:
> >>
> >> 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?
>
> I have only ever managed successfully to self-host on the Raspberry Pi
> when using GCC, not Clang, to build as the default compiler.  I think until
> PR arm/178495 is resolved (which appears to rely on the LLVM folks fixing
> it), it won't be possible to buildworld using Clang.
>
> Maybe the default compiler should be flipped back to GCC on arm, as it
> appears Clang is not yet suitable for prime time there?
>
Using GCC to compile ARMV6 causing some of compilation issues

>
> Whatever alignment bug is affecting clang on arm doesn't appear to affect
> clang on amd64, which is why I can happily cross-build a clang-based arm
> image for my Raspberry Pi using crochet.
>
> Cheers,
>
> Paul.
>
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>


More information about the freebsd-arm mailing list