[PATCH] D17938: CodeGen: Use PLT relocations for relative references to unnamed_addr functions.
Peter Collingbourne via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 7 12:57:10 PST 2016
pcc created this revision.
pcc added a reviewer: rafael.
pcc added a subscriber: llvm-commits.
The relative vtable ABI (PR26723) needs PLT relocations to refer to virtual
functions defined in other DSOs. The unnamed_addr attribute means that the
function's address is not significant, so we're allowed to substitute it
with the address of a PLT entry.
Also includes a bonus feature: addends for COFF image-relative references.
http://reviews.llvm.org/D17938
Files:
include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
include/llvm/Target/TargetLoweringObjectFile.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/TargetLoweringObjectFileImpl.cpp
lib/Target/ARM/ARMTargetObjectFile.h
lib/Target/X86/X86TargetObjectFile.cpp
lib/Target/X86/X86TargetObjectFile.h
test/CodeGen/ARM/plt-relative-reloc.ll
test/CodeGen/X86/x86-64-plt-relative-reloc.ll
test/CodeGen/X86/x86-plt-relative-reloc.ll
test/MC/COFF/cross-section-relative.ll
test/MC/MachO/AArch64/cstexpr-gotpcrel.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17938.49989.patch
Type: text/x-patch
Size: 15742 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160307/ac43664a/attachment.bin>
More information about the llvm-commits
mailing list