pa reload problem
Alan Modra
alan@linuxcare.com.au
Mon, 4 Dec 2000 12:41:29 +1100 (EST)
I've applied this patch to pehc CVS to fix an hppa64 gcc problem that
Richard found when compiling modules for the 64-bit kernel. It's not
specific to modules, but rather can affect anything requiring stubs to
call functions, eg. 64-bit userland linked to shared libs.
--
Linuxcare. Support for the Revolution.
--- gcc/flow.c~ Thu Sep 28 10:37:45 2000
+++ gcc/flow.c Mon Dec 4 09:53:44 2000
@@ -3298,7 +3298,17 @@
to any pseudo before reload is a potential reference of the
frame pointer. */
if (! reload_completed)
- SET_REGNO_REG_SET (new_live_at_end, FRAME_POINTER_REGNUM);
+ {
+ SET_REGNO_REG_SET (new_live_at_end, FRAME_POINTER_REGNUM);
+#ifdef PIC_OFFSET_TABLE_REGNUM
+ /* And also for the pic register. References to constants
+ may require reloading via the pic register. Assume the
+ pic register is not in use, or will be handled by other
+ means, if it is not fixed. */
+ if (fixed_regs[PIC_OFFSET_TABLE_REGNUM])
+ SET_REGNO_REG_SET (new_live_at_end, PIC_OFFSET_TABLE_REGNUM);
+#endif
+ }
/* Regs used in phi nodes are not included in
global_live_at_start, since they are live only along a