[PATCH] D36615: [XRay][CodeGen] Imbue attributes to the labels for XRay instrumentation
Dean Michael Berris via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 11 07:34:19 PDT 2017
dberris created this revision.
This change adds the following ELF attributes to the synthetic reference
used by XRay to keep around sections to define a strongly connected
component between the instrumented function and entries in the different
side sections:
- STV_HIDDEN (.hidden <label>) so that the relocations don't show up (or can be elided while linking) in the final binary when doing position-independent builds or otherwise.
- STB_LOCAL (.local <label>) so that the symbol is treated as a locally bound symbol, not needing resolution across object files at link-time.
- STT_NOTYPE (.type <label>, STT_NOTYPE) so that we explicitly not provide type information for data described by the label.
This should prevent us from emitting dynamically resolved symbols that
are unnecessary for the synthetic reference, which show up in the .text
section of a program.
We also apply the same for the labels for the instrumentation sleds that
are emitted also in the .text section, as well as the labels for the
instrumentation map entries referenced by the function index.
https://reviews.llvm.org/D36615
Files:
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/Target/X86/X86MCInstLower.cpp
test/CodeGen/X86/xray-attribute-instrumentation.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36615.110722.patch
Type: text/x-patch
Size: 6639 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170811/c24b4ccd/attachment.bin>
More information about the llvm-commits
mailing list