This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Merged ARM-Thumb branch...
- To: Scott Bambrough <scottb at netwinder dot org>
- Subject: Re: Merged ARM-Thumb branch...
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Fri, 11 Feb 2000 11:59:18 +0000
- Cc: Nick Clifton <nickc at cygnus dot com>, pb at labs dot futuretv dot com, gcc at gcc dot gnu dot org
- Cc: rearnsha at arm dot com
- Organization: ARM Ltd.
- Reply-To: rearnsha at arm dot com
> > Could you give me an example of why this is needed;
> This was so long ago. This patch dates from 1998, and was probably made by Pat
> Beirne (who is probably in the thick of the Inprise acquistion ATM). If I
> remember correctly, this patch ensures that local objects that are going to
> require a GOTOFF reloc have a load of sl with the address of the GOT.
Hmm, I think this was fixed more generally some time back (these aren't
valid PIC operands):
Sat Feb 13 05:32:00 1999 Richard Earnshaw (rearnsha@arm.com)
* arm.h ...
(GO_IF_LEGITIMATE_ADDRESS): When generating PIC, references to
symbols
in the constant pool aren't valid.
(LEGITIMATE_PIC_OPERAND_P): Likewise.
> If I remember correctly, the label_mentioned_p() is needed if someone
> does arithmetic with a label or the address of a label.
>
But a non-constant expression involving a label isn't a valid
general_operand for the ARM, so it shouldn't even be passed to movsi. If
it is getting through then the bug is elsewhere, not in movsi. Constant
expressions would be either pure LABEL_REFs or and expression wrapped
inside CONST; either way, CONSTANT_P will be true for these and the
existing test will be sufficient.
Richard.