Skip to content

Commit

Permalink
Handle sign bit when generating veneer for ARM Thumb branch relocation
Browse files Browse the repository at this point in the history
  • Loading branch information
cjwatson authored and Ian Lynagh committed Apr 26, 2013
1 parent ce1094e commit c47c47a
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions rts/Linker.c
Expand Up @@ -4957,6 +4957,7 @@ do_Elf_Rel_relocations ( ObjectCode* oc, char* ehdrC,
// Generate veneer
SymbolExtra *extra = makeArmSymbolExtra(oc, ELF_R_SYM(info), S+imm+4, 1, is_target_thm);
offset = (StgWord32) &extra->jumpIsland - P - 4;
sign = offset >> 31;
to_thm = 1;
} else if (!is_target_thm && ELF_R_TYPE(info) == R_ARM_THM_CALL) {
offset &= ~0x3;
Expand Down

0 comments on commit c47c47a

Please sign in to comment.