[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
Showing
- rts/LinkerInternals.h 1 addition, 10 deletionsrts/LinkerInternals.h
- rts/linker/CacheFlush.c 1 addition, 22 deletionsrts/linker/CacheFlush.c
- rts/linker/Elf.c 618 additions, 408 deletionsrts/linker/Elf.c
- rts/linker/Elf.h 1 addition, 1 deletionrts/linker/Elf.h
- rts/linker/ElfTypes.h 5 additions, 0 deletionsrts/linker/ElfTypes.h
- rts/linker/MachO.c 67 additions, 67 deletionsrts/linker/MachO.c
- rts/linker/SymbolExtras.c 2 additions, 94 deletionsrts/linker/SymbolExtras.c
- rts/linker/elf_got.c 131 additions, 0 deletionsrts/linker/elf_got.c
- rts/linker/elf_got.h 15 additions, 0 deletionsrts/linker/elf_got.h
- rts/linker/elf_plt.c 92 additions, 0 deletionsrts/linker/elf_plt.c
- rts/linker/elf_plt.h 44 additions, 0 deletionsrts/linker/elf_plt.h
- rts/linker/elf_plt_aarch64.c 120 additions, 0 deletionsrts/linker/elf_plt_aarch64.c
- rts/linker/elf_plt_aarch64.h 12 additions, 0 deletionsrts/linker/elf_plt_aarch64.h
- rts/linker/elf_plt_arm.c 183 additions, 0 deletionsrts/linker/elf_plt_arm.c
- rts/linker/elf_plt_arm.h 12 additions, 0 deletionsrts/linker/elf_plt_arm.h
- rts/linker/elf_reloc.c 12 additions, 0 deletionsrts/linker/elf_reloc.c
- rts/linker/elf_reloc.h 13 additions, 0 deletionsrts/linker/elf_reloc.h
- rts/linker/elf_reloc_aarch64.c 330 additions, 0 deletionsrts/linker/elf_reloc_aarch64.c
- rts/linker/elf_reloc_aarch64.h 10 additions, 0 deletionsrts/linker/elf_reloc_aarch64.h
- rts/linker/elf_util.c 4 additions, 5 deletionsrts/linker/elf_util.c
Loading
Please register or sign in to comment