]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/16459 (ld: libbackend.a(expr.o)(.text+0x40c2c): cannot handle R_PARISC_P...
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Fri, 9 Jul 2004 21:26:57 +0000 (21:26 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Fri, 9 Jul 2004 21:26:57 +0000 (21:26 +0000)
PR target/16459
* pa.c (output_indirect_call): Use %r2 as the link register when
calling $$dyncall with a pc-relative branch.

From-SVN: r84401

gcc/ChangeLog
gcc/config/pa/pa.c

index 49c0e83586bcf0581460995bac132882454ab1ca..58350654df1b8f44f8f4298757045f00780a6d10 100644 (file)
@@ -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-07  Andreas Schwab  <schwab@suse.de>
 
        * config/ia64/ia64.md: Define new attribute "empty".
index df3eebbf0afe2c72f69201a21c16ca535f70e168..907f0d69432b41dc4e49545970e9134cd4c6cc6f 100644 (file)
@@ -6932,7 +6932,7 @@ output_indirect_call (insn, 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.  */