projects
/
ghc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f6f583c
)
Handle sign bit when generating veneer for ARM Thumb branch relocation
author
Colin Watson
<cjwatson@canonical.com>
Mon, 8 Apr 2013 23:02:27 +0000
(
00:02
+0100)
committer
Joachim Breitner
<nomeata@debian.org>
Wed, 1 Apr 2015 11:35:10 +0000
(11:35 +0000)
Gbp-Pq: Name Handle-sign-bit-when-generating-veneer-for-ARM-Thumb.patch
rts/Linker.c
patch
|
blob
|
history
diff --git
a/rts/Linker.c
b/rts/Linker.c
index 56003fb7469e3b4bc4626c600ba77b319b4dadec..0354b1e149c94fc512db2f872bca1b92f3238ed8 100644
(file)
--- a/
rts/Linker.c
+++ b/
rts/Linker.c
@@
-4850,6
+4850,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;