This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [PATCH] arm: fix cfi errors with newer binutils
On Fri, 6 Jan 2012, Mike Frysinger wrote:
> On Tuesday 03 January 2012 12:44:19 Joseph S. Myers wrote:
> > On Tue, 3 Jan 2012, Mike Frysinger wrote:
> > > so ARM cores older than armv4t are no longer supported (e.g. StrongARMs)
> > > ? :(
> >
> > I believe you can use ARMv4 cores with EABI via the
> > --fix-v4bx-interworking linker option (building code that works on v4 and
> > is interworking-safe on v4T). (You may be able to link with plain
> > --fix-v4bx, but the resulting binaries and shared libraries then wouldn't
> > be interworking safe if run on a newer system, unless that newer system
> > is v7.)
>
> nice. i wonder if gcc should automatically utilize this when given -march
> armv4 or lower ?
It looks like the relevant assembler spec (so that the instruction is
accepted and has the R_ARM_V4BX relocation generated that the linker needs
to fix them up) is already there for all EABI targets (in bpabi.h and not
overridden by individual targets), but the linker spec is enabled for
bare-metal but not GNU/Linux (I suppose because there isn't a
one-size-fits-all answer for which of the two linker options you might
want to use on GNU/Linux).
--
Joseph S. Myers
joseph@codesourcery.com