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:
parent
09c1ee004c
commit
d019eb1665
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue