[all-commits] [llvm/llvm-project] 891a86: [ELF] Add IpltSection
Fangrui Song via All-commits
all-commits at lists.llvm.org
Tue Dec 17 00:06:09 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 891a8655ab563055e21c1f8a3907f9c43fe5c583
https://github.com/llvm/llvm-project/commit/891a8655ab563055e21c1f8a3907f9c43fe5c583
Author: Fangrui Song <maskray at google.com>
Date: 2019-12-17 (Tue, 17 Dec 2019)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
M lld/test/ELF/gnu-ifunc-i386.s
M lld/test/ELF/gnu-ifunc-plt-i386.s
M lld/test/ELF/gnu-ifunc-plt.s
M lld/test/ELF/gnu-ifunc-shared.s
M lld/test/ELF/gnu-ifunc.s
Log Message:
-----------
[ELF] Add IpltSection
PltSection is used by both PLT and IPLT. The PLT section may have a
header while the IPLT section does not. Split off IpltSection from
PltSection to be clearer.
Unlike other targets, PPC64 cannot use the same code sequence for PLT
and IPLT. This helps make a future PPC64 patch (D71509) more isolated.
On EM_386 and EM_X86_64, when PLT is empty while IPLT is not, currently
we are inconsistent whether the PLT header is conceptually attached to
in.plt or in.iplt . Consistently attach the header to in.plt can make
the -z retpolineplt logic simpler. It also makes `jmp` point to an
aesthetically better place for non-retpolineplt cases.
Reviewed By: grimar, ruiu
Differential Revision: https://reviews.llvm.org/D71519
More information about the All-commits
mailing list