aboutsummaryrefslogtreecommitdiff
path: root/gcc
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
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')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/pa/pa.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a34758c..4fbf790 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-07-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/16459
+ * pa.c (output_indirect_call): Use %r2 as the link register when
+ calling $$dyncall with a pc-relative branch.
+
2004-07-08 Gerald Pfeifer <gerald@pfeifer.com>
* doc/install.texi (Binaries): Mention OpenPKG.
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. */