Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Mar 2016 22:33:08 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Mark Millard <markmi@dsl-only.net>
Cc:        "freebsd-toolchain@FreeBSD.org" <freebsd-toolchain@freebsd.org>
Subject:   Re: CPUTYPE=armv7-a with CPUTYPE=soft (as an example)?
Message-ID:  <CANCZdfpzWsPgjo9f6EN8dfHp358n0z4y_8NP_JoKzVY3ovdC=g@mail.gmail.com>
In-Reply-To: <87A2F38F-159C-4CFC-B8AA-4177080662EC@dsl-only.net>
References:  <87A2F38F-159C-4CFC-B8AA-4177080662EC@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 23, 2016 9:57 PM, "Mark Millard" <markmi@dsl-only.net> wrote:
>
> 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.)

Armv7-a-soft is what I planned, but haven't implemented. Today you get it
with just armv7-a.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfpzWsPgjo9f6EN8dfHp358n0z4y_8NP_JoKzVY3ovdC=g>