aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2004-07-09 20:11:59 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2004-07-09 20:11:59 +0000
commit605201baf919a11f7914c8817fd2a756ee4fe13a (patch)
treeb983114b385f73b3651cd26a7c3c9735d89d79b6 /gcc/config
parentb984b4bfa5a88cfc5bd05ad969287d6256f88a3e (diff)
downloadgcc-605201baf919a11f7914c8817fd2a756ee4fe13a.zip
gcc-605201baf919a11f7914c8817fd2a756ee4fe13a.tar.gz
gcc-605201baf919a11f7914c8817fd2a756ee4fe13a.tar.bz2
re PR target/16459 (ld: libbackend.a(expr.o)(.text+0x40c2c): cannot handle R_PARISC_PCREL17F for $$dyncall)
PR target/16459 * pa.c (output_indirect_call): Use %r2 as the link register when calling $$dyncall with a pc-relative branch. From-SVN: r84394
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/pa/pa.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index cf7da9c..da065ce 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -7545,7 +7545,7 @@ output_indirect_call (rtx insn, rtx call_dest)
No need to check target flags as the length uniquely identifies
the remaining cases. */
if (attr_length_indirect_call (insn) == 8)
- return ".CALL\tARGW0=GR\n\t{bl|b,l} $$dyncall,%%r31\n\tcopy %%r31,%%r2";
+ return ".CALL\tARGW0=GR\n\t{bl|b,l} $$dyncall,%%r2\n\tcopy %%r2,%%r31";
/* Long millicode call, but we are not generating PIC or portable runtime
code. */