[PATCH] D15494: [ELF] - implemented @indntpoff (x86) relocation and its optimization.
George Rimar via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 14 07:32:24 PST 2015
grimar created this revision.
grimar added reviewers: ruiu, rafael.
grimar added subscribers: grimar, llvm-commits.
@indntpoff is similar to @gotntpoff, but for use in position dependent code. While @gotntpoff resolves to GOT slot address relative to the
start of the GOT in the movl or addl instructions, @indntpoff resolves to the
absolute GOT slot address. ("ELF Handling For Thread-Local Storage", Ulrich Drepper).
Since this relocation resolves to the absolute GOT slot address it requires R_386_RELATIVE relocation for each place of using when linking shared library. Had to add Target::relocNeedsDynRelative() method that checks if a relocation requires R_386_RELATIVE relocation to be emited either.
http://reviews.llvm.org/D15494
Files:
ELF/InputSection.cpp
ELF/OutputSections.cpp
ELF/Target.cpp
ELF/Target.h
ELF/Writer.cpp
test/ELF/Inputs/tls-opt-iele-i686-nopic.s
test/ELF/tls-opt-iele-i686-nopic.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15494.42717.patch
Type: text/x-patch
Size: 19136 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151214/926bdb29/attachment.bin>
More information about the llvm-commits
mailing list