ARM EABI directions
Andrew Turner
andrew at fubar.geek.nz
Wed Feb 27 18:51:59 UTC 2013
On Wed, 27 Feb 2013 09:09:15 -0800
Tim Kientzle <tim at kientzle.com> wrote:
> >>
> >>>> +.if ${TARGET_ARCH} != ${MACHINE_ARCH} && ${WMAKE_COMPILER_TYPE}
> >>>> == "clang" +.if (${TARGET_ARCH} == "arm" || ${TARGET_ARCH} ==
> >>>> "armv6") && \ +${MK_ARM_EABI} != "no"
> >>>> +TARGET_ABI= gnueabi
> >>>> +.else
> >>>> +TARGET_ABI= unknown
> >>>> +.endif
> >>>
> >>> We need to fix the gnueabi issue with arm. machine_arch should
> >>> always be enough to be self-hosting, and while I fixed the armv6
> >>> issue, this has cropped up in its place :(.
> >>
> >> Personally, I would like to see us switch to gnueabi
> >> entirely and drop the configuration options.
> >
> > Me too, but that would mean breaking 9.x binaries on 10.x systems,
> > so some thought must be exercised here.
It also breaks for people doing native builds. In this case I'm
planning on providing a bootstrap tarball.
> Why? ARM was Tier 2 for FreeBSD 9.x, and the FreeBSD
> package builds still don't support ARM packages, so I'm
> not convinced that would be a problem.
>
> OTOH, I'm hoping we can get ARM to Tier 1 for 10.x, so
> this will be a concern after that point.
This is why I'm trying to finish of this support and get it tested &
enabled by default.
> > My preference would be to support building eabi binaries only, but
> > have a kernel option that would allow execution of oabi binaries.
>
> That would make sense. ISTR a thread discussing whether
> it was possible to transparently support both eabi and oabi
> syscalls.
It is possible, I just never finished the code, and am unlikely to as
it would hold back other work.
> > Then again, we are also heading to the soft fp vs vfp issue too…
>
> <sigh> Yeah.
While vfp is optional on ARMv6 & v7 almost all SoCs have it, I don't
know of any that are missing it. I'm planning on making EABI with
Hard-Float the default on armv6. All the armv6 cores we support have
some level of VFP support in them. As floating-point values are passed
in using the VFP registers the hard-float code will fail on chips
without the VFP unit. If someone finds one that is missing it we
could add a new TARGET_ARCH to build without vfp.
Andrew
More information about the freebsd-arch
mailing list