CPUTYPE=armv7-a with CPUTYPE=soft (as an example)?
Mark Millard
markmi at dsl-only.net
Thu Mar 24 03:57:17 UTC 2016
Between:
> Q: But what if I need to build a system with soft float ABI under 11?
>
> You can still do that. CPUTYPE=soft has been created for this scenario, as well as to generate libraries for WITH_LIBSOFT. It's anticipated that this will live for the entire FreeBSD 11 branch, but go away in FreeBSD 12.
and:
> share/mk/bsd.cpu.mk :
>
> . elif ${MACHINE_CPUARCH} == "arm"
> . if ${CPUTYPE} == "xscale"
> #XXX: gcc doesn't seem to like -mcpu=xscale, and dies while rebuilding itself
> #_CPUCFLAGS = -mcpu=xscale
> _CPUCFLAGS = -march=armv5te -D__XSCALE__
> . elif ${CPUTYPE} == "armv6"
> _CPUCFLAGS = -march=${CPUTYPE} -DARM_ARCH_6=1
> . elif ${CPUTYPE} == "cortexa"
> _CPUCFLAGS = -march=armv7 -DARM_ARCH_6=1 -mfpu=vfp
> . elif ${CPUTYPE:Marmv[4567]*} != ""
> # Handle all the armvX types that FreeBSD runs:
> # armv4, armv4t, armv5, armv5te, armv6, armv6t2, armv7, armv7-a, armv7ve
> # they require -march=. All the others require -mcpu=.
> _CPUCFLAGS = -march=${CPUTYPE}
> . else
> # Common values for FreeBSD
> # arm:
> # arm920t, arm926ej-s, marvell-pj4, fa526, fa626,
> # fa606te, fa626te, fa726te
> # armv6:
> # arm1176jzf-s, generic-armv7-a, cortex-a5, cortex-a7, cortex-a8,
> # cortex-a9, cortex-a12, cortex-a15, cortex-a17, cortex-a53, cortex-a57,
> # cortex-a72, exynos-m1
> _CPUCFLAGS = -mcpu=${CPUTYPE}
> . endif
how will one do a armv7-a (CPUTYPE=armv7-a) soft-float ABI (CPUTYPE=soft) system build if one cares to? (armv7-a is just a specific example of the general issue. But someone might target a RPI2B with armv7-a specified and also wanting the soft float ABI for some reason.)
(The question is generic for me for now, I'm not out to do so at this point or any time soon, may be never.)
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-toolchain
mailing list