diff options
author | Nick Clifton <nickc@redhat.com> | 2001-02-10 20:09:18 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2001-02-10 20:09:18 +0000 |
commit | a8e11649c4e53e6539aa939f0eedbcfe43b328d4 (patch) | |
tree | 03e5c58d65263ad5df504942086de7e32f2a6c9b | |
parent | 25b4fed7cf85789bf2f2b5604e15e1ab967cbc86 (diff) | |
download | gdb-a8e11649c4e53e6539aa939f0eedbcfe43b328d4.tar.gz |
Do not convert reloc addend to PC rel, it will be handled later on.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-v850.c | 16 |
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; |