diff options
author | Moritz Angermann <moritz.angermann@gmail.com> | 2017-06-08 14:58:38 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-06-08 15:35:58 -0400 |
commit | 1c83fd814b12754be8af211a387cec906ca198b3 (patch) | |
tree | 1c93c8791e62885462da53100f0ccd4aafd9dd2c /rts/linker/elf_plt_arm.h | |
parent | 7bb2aa00bd93e0f3f00def586094e349e39035dd (diff) | |
download | haskell-1c83fd814b12754be8af211a387cec906ca198b3.tar.gz |
[linker] fix armv7 & add aarch64
This adds Global Offset Table logic, as well as PLT like logic for armv7
and aarch64; which replaces the preexisting symbolExtras logic, by
placing the PLT tables next to the separtely loaded sections. This is
needed to ensure that the symbol stubs are in range.
Reviewers: bgamari, austin, erikd, simonmar
Reviewed By: bgamari
Subscribers: Ericson2314, ryantrinkle, rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D3448
Diffstat (limited to 'rts/linker/elf_plt_arm.h')
-rw-r--r-- | rts/linker/elf_plt_arm.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/rts/linker/elf_plt_arm.h b/rts/linker/elf_plt_arm.h new file mode 100644 index 0000000000..a495cef91f --- /dev/null +++ b/rts/linker/elf_plt_arm.h @@ -0,0 +1,12 @@ +#pragma once + +#include "LinkerInternals.h" + +#if defined(OBJFORMAT_ELF) + +extern const size_t stubSizeArm; +bool needStubForRelArm(Elf_Rel * rel); +bool needStubForRelaArm(Elf_Rela * rel); +bool makeStubArm(Stub * s); + +#endif |