This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]