+2000-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ * config/sparc/sparc.c (eligible_for_sibcall_delay): Cannot use
+ leaf sibcall delay slot if flag_pic.
+ (output_sibcall): Always emit call for leaf sibcall if flag_pic.
+
2000-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.in (stmp-fixproto): Acknowledge errors in fixproto.
(ASM_OUTPUT_CASE_END): New, put assembler back into code CSECT.
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove page check,
since vector in in the data CSECT.
- (ASM_OUTPUT_REG_POP, ASM_OUTPUT_REG_PUSH): Restore to correct operation. * i370.md (Many patterns): Put the length in the XL directives.
+ (ASM_OUTPUT_REG_POP, ASM_OUTPUT_REG_PUSH): Restore to correct operation.
+ * i370.md (Many patterns): Put the length in the XL directives.
(movdi): Put back STM and MVC in definition.
(floatsidf2): Correct TARGET_ELF_ABI pattern and add back the LE370
pattern using the TCA.
{
/* If the tail call is done using the call instruction,
we have to restore %o7 in the delay slot. */
- if (TARGET_ARCH64 && ! TARGET_CM_MEDLOW)
+ if ((TARGET_ARCH64 && ! TARGET_CM_MEDLOW) || flag_pic)
return 0;
/* %g1 is used to build the function address */
if (leaf_regs)
{
- int spare_slot = (TARGET_ARCH32 || TARGET_CM_MEDLOW);
+ int spare_slot = ((TARGET_ARCH32 || TARGET_CM_MEDLOW) && ! flag_pic);
int size = 0;
if ((actual_fsize || ! spare_slot) && delay_slot)