aboutsummaryrefslogtreecommitdiff
path: root/gas/doc
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-01-03 18:34:24 +0000
committerNick Clifton <nickc@redhat.com>2000-01-03 18:34:24 +0000
commit2e13b764859730a6bf359cd73b7e7acd4d95e071 (patch)
treec25da3c0c3ee5c438aeeae100b149e1598232980 /gas/doc
parent7a13edea08cb46d90e1512c72540de7d0b1411a5 (diff)
downloadgdb-2e13b764859730a6bf359cd73b7e7acd4d95e071.zip
gdb-2e13b764859730a6bf359cd73b7e7acd4d95e071.tar.gz
gdb-2e13b764859730a6bf359cd73b7e7acd4d95e071.tar.bz2
ELF visibility patch from Martin Loewis
Diffstat (limited to 'gas/doc')
-rw-r--r--gas/doc/as.texinfo37
1 files changed, 37 insertions, 0 deletions
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index 330a8b2..eb5aee8 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -3195,6 +3195,9 @@ Some machine configurations provide additional directives.
* Type:: @code{.type @var{int}}
* Val:: @code{.val @var{addr}}
@end ifset
+@ifset ELF
+* Visibility:: @code{.internal @var{name}, .hidden @var{name}, .protected @var{name}}
+@end ifset
* Uleb128:: @code{.uleb128 @var{expressions}}
* Word:: @code{.word @var{expressions}}
@@ -4756,6 +4759,40 @@ configured for @code{b.out}, it accepts this directive but ignores it.
compact, variable length representation of numbers used by the DWARF
symbolic debugging format. @xref{Sleb128,@code{.sleb128}}.
+@ifset ELF
+@node Visibility
+@section @code{.internal}, @code{.hidden}, @code{.protected}
+@cindex @code{internal} directive
+@cindex @code{hidden} directive
+@cindex @code{protected} directive
+@cindex symbol visibility
+
+These directives can be used to set the visibility of a specified symbol. By
+default a symbol's visibility is set by its binding (local, global or weak),
+but these directives can be used to override that.
+
+A visibility of @code{protected} means that any references to the symbol from
+within the component that defines the symbol must be resolved to the definition
+in that component, even if a definition in another component would normally
+preempt this.
+
+A visibility of @code{hidden} means that the symbol is not visible to other
+components. Such a symbol is always considered to be protected as well.
+
+A visibility of @code{internal} is the same as a visibility of @code{hidden},
+except that some extra, processor specific processing must also be performed
+upon the symbol.
+
+For ELF targets, the directives are used like this:
+
+@smallexample
+.internal @var{name}
+.hidden @var{name}
+.protected @var{name}
+@end smallexample
+
+@end ifset
+
@node Word
@section @code{.word @var{expressions}}