Correct resolution of R_ARM_REL32 relocations. They were being resolved

relative to the start of the section rather than the location of the
relocation.  This made differences of two symbols in different files stop
working.

I believe GCC never generates this kind of relocation, which is why this bug
hasn't surfaced before.

This patch has been sent to <bug-gnu-utils@gnu.org>.
This commit is contained in:
bjh21 2001-08-02 23:35:00 +00:00
parent 09c1ee004c
commit d019eb1665
1 changed files with 1 additions and 1 deletions

View File

@ -1283,7 +1283,7 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
case R_ARM_REL32:
value -= (input_section->output_section->vma
+ input_section->output_offset);
+ input_section->output_offset + rel->r_offset);
value += addend;
break;
}