Fix a bug WRT -vomit-frame-pointer -- use_return_insn() must return false if
we saved the GOT pointer register. Note: This is already fixed in the GCC 3 sources, but GCC 3 uses a different condition to determine whether to save and restore the register, so the patch cannot be the same.
This commit is contained in:
parent
3e9c6b1044
commit
b06a300a8a
|
@ -494,6 +494,9 @@ use_return_insn ()
|
|||
for (regno = 0 ; regno < FIRST_PSEUDO_REGISTER ; regno++)
|
||||
if (regs_ever_live[regno] && ! call_used_regs[regno])
|
||||
return 0;
|
||||
|
||||
if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue