Skip to content
Snippets Groups Projects
Commit fd13d079 authored by Vedant Kumar's avatar Vedant Kumar
Browse files

[docs] Coverage: Flesh out instructions for avoiding static initializeres

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272214 91177308-0d34-0410-b5e6-96231b3b80d8
parent 5d7d6b55
No related branches found
No related tags found
No related merge requests found
...@@ -192,14 +192,22 @@ By default the compiler runtime uses a static initializer to determine the ...@@ -192,14 +192,22 @@ By default the compiler runtime uses a static initializer to determine the
profile output path and to register a writer function. To collect profiles profile output path and to register a writer function. To collect profiles
without using static initializers, do this manually: without using static initializers, do this manually:
* Export a ``int __llvm_profile_runtime`` symbol. The linker won't pull in the * Export a ``int __llvm_profile_runtime`` symbol from each instrumented shared
object file containing the profiling runtime's static initializer if this library and executable. When the linker finds a definition of this symbol, it
symbol is defined. knows to skip loading the object which contains the profiling runtime's
static initializer.
* Call ``__llvm_profile_initialize_file`` once. This parses
``LLVM_PROFILE_FILE`` and sets the output path. * Forward-declare ``void __llvm_profile_initialize_file(void)`` and call it
once from each instrumented executable. This function parses
* Call ``__llvm_profile_write_file`` to write out a profile. ``LLVM_PROFILE_FILE``, sets the output path, and truncates any existing files
at that path. To get the same behavior without truncating existing files,
pass a filename pattern string to ``void __llvm_profile_set_filename(char
*)``. These calls can be placed anywhere so long as they precede all calls
to ``__llvm_profile_write_file``.
* Forward-declare ``int __llvm_profile_write_file(void)`` and call it to write
out a profile. Calling this function multiple times appends profile data to
an existing on-disk raw profile.
Drawbacks and limitations Drawbacks and limitations
========================= =========================
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment