Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Alex D
GHC
Commits
c47c47a4
Commit
c47c47a4
authored
Apr 09, 2013
by
Colin Watson
Committed by
ian@well-typed.com
Apr 27, 2013
Browse files
Handle sign bit when generating veneer for ARM Thumb branch relocation
parent
ce1094ea
Changes
1
Hide whitespace changes
Inline
Side-by-side
rts/Linker.c
View file @
c47c47a4
...
...
@@ -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
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment