Building an ARM/RPI-B release (hacked) on CURRENT/AMD64.

Ian Lepore ian at FreeBSD.org
Thu Apr 17 12:44:39 UTC 2014


On Thu, 2014-04-17 at 08:23 +0100, Mark R V Murray wrote:
> On 17 Apr 2014, at 02:25, Tim Kientzle <tim at kientzle.com> wrote:
> 
> >> The problem is that during the u-boot build, a CLANG-based xdev build is used, and this has no *-gcc, only a *-cc. If I fix that with a symlink, clang then objects to the -ffixed-r8 option. Clang has an equivalent -ffixed-r9, but the u-boot that is  mandated for FreeBSD/Arm/RPI use doesn’t have the R9 fix.
> >> 
> >> Questions:
> >> 
> >> 1) Are you aware of any of this?
> > 
> > Yes.
> > 
> >> 
> >> 2) Do you have a quick fix idea (preferably not involving GCC)?
> > 
> > No.  <sigh>
> > 
> > Right now, the “get it working” answer is to install GCC XDEV tools.
> 
> Even that was broken, but I have it fixed now, locally. I’ll tidy up the patches and send them all out later.
> 
> > Though I tried that on a clean system last weekend and it
> > still failed to build.  Haven’t tracked down why.
> 
> src/release/arm/release.sh needs this:
> 
> @@ -96,27 +96,27 @@
>         # This is not '-j'-safe, so force '-j1' to allow using
>         # additional, non-'-j' options specified in WORLD_FLAGS.
>         eval chroot ${CHROOTDIR} make -C /usr/src/gnu/usr.bin/cc \
> -               WITH_GCC=1 ${WORLD_FLAGS} -j1 obj depend all install
> +               WITH_GCC=1 WITH_GNUXX=1 ${WORLD_FLAGS} -j1 obj depend all install
>         # Build the 'xdev' target for crochet.
> -       eval chroot ${CHROOTDIR} make -C /usr/src WITHOUT_CLANG_IS_CC=1 \
> -               XDEV=${XDEV} XDEV_ARCH=${XDEV_ARCH} WITH_GCC=1 \
> +       eval chroot ${CHROOTDIR} make -C /usr/src WITHOUT_CLANG_IS_CC=1 WITHOUT_CLANG=1 \
> +               XDEV=${XDEV} XDEV_ARCH=${XDEV_ARCH} WITH_GCC=1 WITH_GNUXX=1 \
>                 ${WORLD_FLAGS} xdev
>  

WITH_GNUXX doesn't seem right, shouldn't that be WITH_GNUCXX?  If you
generated that with diff rather than typing from memory, then maybe that
port of the change isn't what fixes things and only WITH_GCC is needed.

>         # Run the ldconfig(8) startup script so /var/run/ld-elf*.so.hints
>         # is created.
> 
> >> I’m rather short of time right now, but may be able to get to this over Easter.
> > 
> > Long-term, we’d all like to see U-Boot build with clang.
> > 
> > No idea yet whether that’s hard or not.  No idea if
> > I’ll have time to work on it in the near future.
> 
> How much hacking does u-boot need for 1) FreeBSD and 2) RPI?
> 
> Should its head-of-trunk “just work”? They have apparently sorted out the R8/R9 business which should make it CLANG-ready, IIUC.
> 
> M




More information about the freebsd-arm mailing list