[all-commits] [llvm/llvm-project] cd9fd4: [JITLink] Adds support for PLT based relocations t...
Kshitij Jain via All-commits
all-commits at lists.llvm.org
Sun Jan 29 17:16:36 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: cd9fd4255b48e6c759aa09a4d91249def330b835
https://github.com/llvm/llvm-project/commit/cd9fd4255b48e6c759aa09a4d91249def330b835
Author: Kshitij Jain <jkshtj at outlook.com>
Date: 2023-01-30 (Mon, 30 Jan 2023)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/i386.h
M llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp
M llvm/lib/ExecutionEngine/JITLink/i386.cpp
R llvm/test/ExecutionEngine/JITLink/i386/ELF_i386_small_pic_relocations.s
A llvm/test/ExecutionEngine/JITLink/i386/ELF_i386_small_pic_relocations_got.s
A llvm/test/ExecutionEngine/JITLink/i386/ELF_i386_small_pic_relocations_plt.s
Log Message:
-----------
[JITLink] Adds support for PLT based relocations to the ELF/i386 JITLink backend
This commit adds support for PLT based relocations. Specifically -
1. It adds logic to create a `PLTTableManager` in the `buildTables_ELF_i386`
function, which is called as part of the post-prune JITLink passes. The `PLTTableManager`
handles creating pointer jump stubs and related GOT entries for position independent
code.
2. It also adds a pre-fixup pass to optimize away PLT based calls in position independent
code, when possible.
Reviewed By: lhames
Differential Revision: https://reviews.llvm.org/D142846
More information about the All-commits
mailing list