aboutsummaryrefslogtreecommitdiff
path: root/gas/doc
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2000-11-13 21:23:34 +0000
committerH.J. Lu <hjl.tools@gmail.com>2000-11-13 21:23:34 +0000
commit79082ff0c6032d8e1e832fe35cc69b3b46d4bd91 (patch)
tree9192822960940b65af19449924b1a7aa14cc3c91 /gas/doc
parent158b3de091284fe2c277ee56c5652195358ec202 (diff)
downloadgdb-79082ff0c6032d8e1e832fe35cc69b3b46d4bd91.zip
gdb-79082ff0c6032d8e1e832fe35cc69b3b46d4bd91.tar.gz
gdb-79082ff0c6032d8e1e832fe35cc69b3b46d4bd91.tar.bz2
2000-11-13 H.J. Lu <hjl@gnu.org>
* config/obj-elf.c (elf_frob_symbol): Support ".symver name,name2@@@nodename". (elf_frob_file_before_adjust): Likewise. * doc/as.texinfo: Updated for ".symver name,name2@@@nodename" and ".symver name,name2@@@nodename". Fix a typo.
Diffstat (limited to 'gas/doc')
-rw-r--r--gas/doc/as.texinfo22
1 files changed, 20 insertions, 2 deletions
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index 2b73d3d..a45a561 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -4933,12 +4933,12 @@ There are cases where it may make sense to use this in objects to be bound
into an application itself so as to override a versioned symbol from a
shared library.
-For ELF targets, the @code{.symver} directive is used like this:
+For ELF targets, the @code{.symver} directive can be used like this:
@smallexample
.symver @var{name}, @var{name2@@nodename}
@end smallexample
If the symbol @var{name} is defined within the file
-being assembled, the @code{.versym} directive effectively creates a symbol
+being assembled, the @code{.symver} directive effectively creates a symbol
alias with the name @var{name2@@nodename}, and in fact the main reason that we
just don't try and create a regular alias is that the @var{@@} character isn't
permitted in symbol names. The @var{name2} part of the name is the actual name
@@ -4956,6 +4956,24 @@ If the symbol @var{name} is not defined within the file being assembled, all
references to @var{name} will be changed to @var{name2@@nodename}. If no
reference to @var{name} is made, @var{name2@@nodename} will be removed from the
symbol table.
+
+Another usage of the @code{.symver} directive is:
+@smallexample
+.symver @var{name}, @var{name2@@@@nodename}
+@end smallexample
+In this case, the symbol @var{name} must exist and be defined within
+the file being assembled. It is similiar to @var{name2@@nodename}. The
+difference is @var{name2@@@@nodename} will also be used to resolve
+references to @var{name2} by the linker.
+
+The third usage of the @code{.symver} directive is:
+@smallexample
+.symver @var{name}, @var{name2@@@@@@nodename}
+@end smallexample
+When @var{name} is not defined within the
+file being assembled, it is treated as @var{name2@@nodename}. When
+@var{name} is defined within the file being assembled, the symbol
+name, @var{name}, will be changed to @var{name2@@@@nodename}.
@end ifset
@ifset COFF