From: Nick Clifton Date: Sat, 10 Feb 2001 20:09:18 +0000 (+0000) Subject: Do not convert reloc addend to PC rel, it will be handled later on. X-Git-Tag: binutils-2_11~68 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cd02f7815d6becc773c2e934d5ad06eac420a93a;p=thirdparty%2Fbinutils-gdb.git Do not convert reloc addend to PC rel, it will be handled later on. --- 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 + + * 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 * 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;