[PATCH] D15235: [ELF] - Implemented R_*_IRELATIVE relocations for x86, x64 targets.

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 4 09:12:26 PST 2015


grimar created this revision.
grimar added reviewers: ruiu, rafael.
grimar added subscribers: llvm-commits, grimar.

This relocation is similar to R_*_RELATIVE except that the value used in this relocation is the program address returned by the function, which takes no arguments, at the address of
the result of the corresponding R_*_RELATIVE relocation as specified in the processor-specific ABI. The purpose of this relocation to avoid name lookup for locally defined STT_GNU_IFUNC symbols at load-time.

More info can be found in ifunc.txt from https://sites.google.com/site/x32abi/documents.

http://reviews.llvm.org/D15235

Files:
  ELF/OutputSections.cpp
  ELF/OutputSections.h
  ELF/Symbols.h
  ELF/Target.cpp
  ELF/Target.h
  ELF/Writer.cpp
  test/ELF/gnu-ifunc-i386.s
  test/ELF/gnu-ifunc-nosym-i386.s
  test/ELF/gnu-ifunc-nosym.s
  test/ELF/gnu-ifunc.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15235.41888.patch
Type: text/x-patch
Size: 18106 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151204/3edfc990/attachment.bin>


More information about the llvm-commits mailing list