This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: XScale/armv5e mixups
- To: Philip Blundell <pb at nexus dot co dot uk>
- Subject: Re: XScale/armv5e mixups
- From: Nick Clifton <nickc at cambridge dot redhat dot com>
- Date: 26 Oct 2001 10:28:07 +0100
- Cc: binutils at sources dot redhat dot com
- References: <E15x327-00066p-00@mill.nexus.co.uk>
Hi Philip,
> GAS seems to think that LDRD, STRD and PLD are some kind of sordid XScale
> extension. But in fact they are perfectly wholesome V5E instructions, and
> deserve to be treated as such. :-)
Good point :-)
> Also, this sort of thing seems fairly unhealthy:
>
> #ifndef CPU_DEFAULT
> #if defined __XSCALE__
> #define CPU_DEFAULT (ARM_9 | ARM_ARCH_XSCALE)
> #else
> #if defined __thumb__
> #define CPU_DEFAULT (ARM_7 | ARM_ARCH_V4T)
> #else
> #define CPU_DEFAULT ARM_ALL
> #endif
> #endif
> #endif
>
> The __XSCALE__ and __thumb__ macros tell you the properties of the host
> compiler; it's hard to imagine that this is going to be useful. My
> inclination would just be to delete that whole block, make the default for
> GAS be ARM_ALL, and use GCC specs to pass in a more restrictive architecture
> when that seems appropriate. What do you think?
I agree. This is all a hang over from when these ports were internal
Red Hat projects, and I didn't want to disturb the net sources too
much. However, now that everything is public it would make much more
sense to default to assembling everything and only restricting
instructions at the users explicit request.
> 2001-10-26 Philip Blundell <philb@gnu.org>
>
> * config/tc-arm.c (do_ldrd): Check for El Segundo, not XScale.
> Fix display of bad instructions.
> (insns): Move PLD under V5E. Remove duplicated entries for LDR and STR.
Approved.
Cheers
Nick