+Thu Aug 5 00:56:30 1999 Geoffrey Keating <geoffk@cygnus.com>
+
+ * rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
+ allocate space in the stack frame for the PIC register.
+
Thu Aug 5 00:20:47 1999 Jeffrey A Law (law@cygnus.com)
* m68k.md (xordi3, anddi3): These patterns are not available on
/* Calculate which registers need to be saved & save area size */
info_ptr->first_gp_reg_save = first_reg_to_save ();
- info_ptr->gp_size = reg_size * (32 - info_ptr->first_gp_reg_save);
+ /* Assume that we will have to save PIC_OFFSET_TABLE_REGNUM,
+ even if it currently looks like we won't. */
+ if (flag_pic == 1
+ && (abi == ABI_V4 || abi == ABI_SOLARIS)
+ && info_ptr->first_gp_reg_save > PIC_OFFSET_TABLE_REGNUM)
+ info_ptr->gp_size = reg_size * (32 - PIC_OFFSET_TABLE_REGNUM);
+ else
+ info_ptr->gp_size = reg_size * (32 - info_ptr->first_gp_reg_save);
info_ptr->first_fp_reg_save = first_fp_reg_to_save ();
info_ptr->fp_size = 8 * (64 - info_ptr->first_fp_reg_save);