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]

Re: more PIC



  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


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