11.0-CURRENT: lang/gcc, lang/gcc5, lang/gcc6-devel, lang/llvm38, etc. do not build on/for armv6 (now implicitly hard float)

Warner Losh imp at bsdimp.com
Sun May 29 04:50:14 UTC 2016


On Wed, May 25, 2016 at 10:12 AM, Mark Millard <markmi at dsl-only.net> wrote:
> I'm  not sure that Gerald or Brooks were CC'd on a report made to the arm list about armv6 builds of gcc and llvm being broken now because of hard float now being implicit:
> (the first report listed below has more detail directly visible for gcc examples)
>
> https://lists.freebsd.org/pipermail/freebsd-arm/2016-May/013931.html
> and:
> https://lists.freebsd.org/pipermail/freebsd-arm/2016-May/013930.html
> https://lists.freebsd.org/pipermail/freebsd-arm/2016-May/013932.html
> https://lists.freebsd.org/pipermail/freebsd-arm/2016-May/013933.html
>
> The first (013931.html) shows that xgcc for configure:3686 for contest.c ends up with the likes of:
>
> /usr/local/bin/ld: error: a.out uses VFP register arguments,
> /wrkdirs/usr/ports/lang/gcc/work/.build/./gcc/crtbegin.o does not
> /usr/local/bin/ld: failed to merge target specific data of file
> /wrkdirs/usr/ports/lang/gcc/work/.build/./gcc/crtbegin.o
> /usr/local/bin/ld: error: a.out uses VFP register arguments,
> /tmp//cchNL2QG.o does not
> /usr/local/bin/ld: failed to merge target specific data of file /tmp//cchNL2QG.o
> /usr/local/bin/ld: error: a.out uses VFP register arguments,
> /wrkdirs/usr/ports/lang/gcc/work/.build/./gcc/crtend.o does not
> /usr/local/bin/ld: failed to merge target specific data of file
> /wrkdirs/usr/ports/lang/gcc/work/.build/./gcc/crtend.o
> collect2: error: ld returned 1 exit status
>
> and points to gcc/config.gcc only having TARGET_FREEBSD_ARM_HARD_FLOAT=1 for arm*hf-*-freebsd* . But now armv6*-*-freebsd* is also hard float for 11.0-CURRENT.

armv6*-*-freebsd is only hard float ABI for FreeBSD 11.

> Of course until everyone updates to modern enough armv6 context a mix of softfloat and hardfloat will be around.

Are you saying that we need to get these changes to the ports in place
to support hard float? Are you saying we need to support a mix better
(which is unlikely to happen, btw, without a passionate champion)? Is
there some other point I'm missing?

Warner


More information about the freebsd-toolchain mailing list