This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: more PIC
- To: Philip Blundell <pb at nexus dot co dot uk>
- Subject: Re: more PIC
- From: Jeffrey A Law <law at upchuck dot cygnus dot com>
- Date: Thu, 27 May 1999 03:07:38 -0600
- cc: Nick Clifton <nickc at cygnus dot com>, richard dot earnshaw at arm dot com, egcs-patches at egcs dot cygnus dot com
- Reply-To: law at cygnus dot com
In message <E10mZkG-0001V9-00@fountain.nexus.co.uk>you write:
> Thu May 13 09:35:51 1999 Philip Blundell <pb@nexus.co.uk>
>
> Based on patch by Scott Bambrough and Pat Beirne:
> * config/arm/arm.c (making_const_table): New variable.
> * config/arm/arm.h (making_const_table): Declare.
> (OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
> appropriate.
> * config/arm/arm.md (consttable_4, consttable_8, consttable_end):
> Keep track of when we are building the constant table.
Presumably consttable_4, consttable_8 and consttable_end are never called
to expand RTL during initial rtl generation? If they are, then this patch
would be incorrect since you can not save global data like that.
If an RTL expander needs to set global information, then it has to be part
of the backend stated that gets pushed as we push context to handle a
nested function. See MACHINE_STATE_SAVE/MACHINE_STATE_RESTORE.
>From looking at the arm code for this stuff I think we're safe. But I wanted
to mention it just in case you weren't aware of this issue. Lots of us
have been bitten by this over the years. Saving you from that pain would make
it all worth it :-)
Also, do we have assignments for Scott and Pat? This looks small enough that
I can probably safely take it. But it is borderline and if Scott and Pat
make additional contributions we'll need copyright assignments from them.
jeff