Improve explanation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107207 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2010-06-29 21:41:58 +00:00
parent 8d3cebca8e
commit 7645f14ee8

View File

@ -560,11 +560,15 @@ define i32 @main() { <i>; i32()* </i>
<tt>private</tt> symbols) <tt>linker_private</tt> symbols are subject to
coalescing by the linker: weak symbols get merged and redefinitions are
rejected. However, unlike normal strong symbols, they are removed by the
linker from the final linked image (executable or dynamic library).</dd>
linker from the final linked image (executable or dynamic library).
This is currently only used for Objective-C metadata.</dd>
<dt><tt><b><a name="linkage_linker_weak">linker_weak</a></b></tt></dt>
<dd>Global values with "<tt>linker_weak</tt>" linkage are given weak linkage,
but are removed by the linker after evaluation.</dd>
but are removed by the linker after evaluation. Unlike normal weak
symbols, linker weak symbols are removed by the linker from the linal
linked image (executable or dynamic library). This is currently only used
for Objective-C metadata.</dd>
<dt><tt><b><a name="linkage_internal">internal</a></b></tt></dt>
<dd>Similar to <tt>private</tt>, but the value shows as a local symbol