[committed] Fix old PA 2.0 regression in output_call
John David Anglin
dave@hiauly1.hia.nrc.ca
Tue Jan 6 04:21:00 GMT 2009
The attached patch fixes a problem in lzma when it is compiled with
-march=2.0. The delay insn wasn't being relocated when a long absolute
call was output.
Tested on hppa-unknown-linux-gnu and hppa2.0w-hp-hpux11.11.
Committed to trunk.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
2009-01-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.c (output_call): Relocate non-jump insns in the delay slot of long
absolute calls when generating PA 2.0 code.
Index: config/pa/pa.c
===================================================================
--- config/pa/pa.c (revision 143062)
+++ config/pa/pa.c (working copy)
@@ -7547,7 +7547,9 @@
if (seq_length != 0
&& GET_CODE (NEXT_INSN (insn)) != JUMP_INSN
&& !sibcall
- && (!TARGET_PA_20 || indirect_call))
+ && (!TARGET_PA_20
+ || indirect_call
+ || ((TARGET_LONG_ABS_CALL || local_call) && !flag_pic)))
{
/* A non-jump insn in the delay slot. By definition we can
emit this insn before the call (and in fact before argument
More information about the Gcc-patches
mailing list