summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-02-10 20:09:18 +0000
committerNick Clifton <nickc@redhat.com>2001-02-10 20:09:18 +0000
commita8e11649c4e53e6539aa939f0eedbcfe43b328d4 (patch)
tree03e5c58d65263ad5df504942086de7e32f2a6c9b
parent25b4fed7cf85789bf2f2b5604e15e1ab967cbc86 (diff)
downloadgdb-a8e11649c4e53e6539aa939f0eedbcfe43b328d4.tar.gz
Do not convert reloc addend to PC rel, it will be handled later on.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-v850.c16
2 files changed, 21 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4ca558385f6..07e4679633d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2001-02-10 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-09 David Mosberger <davidm@hpl.hp.com>
* elfxx-ia64.c (is_unwind_section_name): New function. Returns
diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c
index 67fede0512c..e71866c3aa3 100644
--- a/bfd/elf32-v850.c
+++ b/bfd/elf32-v850.c
@@ -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,6 +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;