Do not convert reloc addend to PC rel, it will be handled later on.
authorNick Clifton <nickc@redhat.com>
Sun, 4 Feb 2001 22:14:19 +0000 (22:14 +0000)
committerNick Clifton <nickc@redhat.com>
Sun, 4 Feb 2001 22:14:19 +0000 (22:14 +0000)
bfd/ChangeLog
bfd/elf32-v850.c

index 4c986680a3f28dc4bb07293bb9e107f7db0f0c16..9d03c56e2ab4b1028c3afd43fee677ad89f54c82 100644 (file)
@@ -1,3 +1,8 @@
+2001-02-04  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-v850.c (v850_elf_reloc): Do not convert reloc addend to PC
+       rel, it will be handled later on.
+
 2001-02-02  Fred Fish  <fnf@ninemoons.com>
 
        * Makefile.in: Fix typo.
index 67fede0512c04572f8441facaa6f2d81945aeae9..435c9e3e7fbf26cd100a84cddc53ac08cdb108da 100644 (file)
@@ -1300,6 +1300,21 @@ v850_elf_reloc (abfd, reloc, symbol, data, isection, obfd, err)
   relocation += symbol->section->output_offset;
   relocation += reloc->addend;
 
+#if 0 /* Since this reloc is going to be processed later on, we should
+        not make it pc-relative here.  To test this, try assembling and
+        linking this program:
+
+               .text
+               .globl _start
+               nop
+       _start:         
+               jr foo
+
+               .section ".foo","ax"
+               nop
+       foo:
+               nop
+      */
   if (reloc->howto->pc_relative == true)
     {
       /* Here the variable relocation holds the final address of the
@@ -1309,7 +1324,7 @@ v850_elf_reloc (abfd, reloc, symbol, data, isection, obfd, err)
       /* Deal with pcrel_offset */
       relocation -= reloc->address;
     }
-
+#endif
   reloc->addend = relocation;
   return bfd_reloc_ok;
 }