This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [csl-arm] Eabi target defaults
On Saturday 30 April 2005 20:43, Daniel Jacobowitz wrote:
> On Sat, Apr 30, 2005 at 08:34:03PM +0100, Paul Brook wrote:
> > +/* EABI targets should enable interworking by default. */
> > +#undef TARGET_DEFAULT
> > +#define TARGET_DEFAULT (ARM_FLAG_INTERWORK)
>
> Doesn't this mean that you now need -march=armv4 -mno-thumb-interwork
> to use a BPABI toolchain to build armv4 (not armv4t) executables?
Just -march=armv4 is sufficient, though -mno-thumb-interwork is needed to
suppress the warning. You also need to build yourself a new set of multilibs.
The aapcs requires that "all sub-routine call and return sequences support
interworking between arm and thumb states".
The Arm eabi also defines the R_ARM_BX relocation, which allows the linker to
turn interworking safe armv4t code into armv4 code. This is currently
supported by GNU ld, but not GNU as.
Arm has also requested that our (CodeSourcery's) toolchains enable
interworking by default. I intend to post a RFC before making this change on
mainline.
Paul