Fix pc relative relocs.

This commit is contained in:
Nick Clifton 1998-12-08 15:44:06 +00:00
parent 8ecd559a56
commit 811c57ffa1
2 changed files with 13 additions and 3 deletions

View file

@ -1,3 +1,9 @@
1998-12-08 Nick Clifton <nickc@cygnus.com>
* elf32-fr30.c (fr30_final_link_relocate): Fix PC relative
relocations to include offset of 2 included in the insns, and the
offset of the relocs within the section.
Wed Dec 2 15:03:59 1998 David Taylor <taylor@texas.cygnus.com>
The following changes were made by David Taylor

View file

@ -383,8 +383,10 @@ fr30_final_link_relocate (howto, input_bfd, input_section, contents, rel, reloca
case R_FR30_9_PCREL:
contents += rel->r_offset + 1;
relocation += rel->r_addend;
srel = (bfd_signed_vma) relocation;
srel += rel->r_addend;
srel -= rel->r_offset;
srel -= 2; /* Branch instructions add 2 to the PC... */
srel -= (input_section->output_section->vma +
input_section->output_offset);
@ -398,8 +400,10 @@ fr30_final_link_relocate (howto, input_bfd, input_section, contents, rel, reloca
case R_FR30_12_PCREL:
contents += rel->r_offset;
relocation += rel->r_addend;
srel = (bfd_signed_vma) relocation;
srel += rel->r_addend;
srel -= rel->r_offset;
srel -= 2; /* Branch instructions add 2 to the PC... */
srel -= (input_section->output_section->vma +
input_section->output_offset);