aboutsummaryrefslogtreecommitdiff
path: root/gas/doc/as.texinfo
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2000-11-08 00:24:23 +0000
committerH.J. Lu <hjl.tools@gmail.com>2000-11-08 00:24:23 +0000
commit339681c049b110e7e51af9c28ee8fd5c7d18682b (patch)
tree17cc9b89755181dc363e886ef5e6acc92ca0036b /gas/doc/as.texinfo
parent4a314ec807d0b51845867b8bc22df797528e8a51 (diff)
downloadgdb-339681c049b110e7e51af9c28ee8fd5c7d18682b.zip
gdb-339681c049b110e7e51af9c28ee8fd5c7d18682b.tar.gz
gdb-339681c049b110e7e51af9c28ee8fd5c7d18682b.tar.bz2
2000-11-07 H.J. Lu <hjl@gnu.org>
* doc/as.texinfo (.symver): Updated for versioned symbol reference. * obj.h (format_ops): Add the frob_file_before_adjust field. * config/obj-aout.c (aout_format_ops): Set the frob_file_before_adjust field to 0. * config/obj-coff.c (coff_format_ops): Likewise. * config/obj-ecoff.c (ecoff_format_ops): Likewise. * config/obj-elf.c (obj_elf_symver): Allow duplicated version name. (elf_frob_file_before_adjust): New function to remove unneeded versioned symbols from the symbol table. (elf_format_ops): Set the frob_file_before_adjust field to elf_frob_file_before_adjust. * config/obj-elf.h (obj_frob_file_before_adjust): Defined if not defined. * config/obj-multi.h (obj_frob_file_before_adjust): Defined.
Diffstat (limited to 'gas/doc/as.texinfo')
-rw-r--r--gas/doc/as.texinfo9
1 files changed, 7 insertions, 2 deletions
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index c0d3276..2b73d3d 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -4937,8 +4937,8 @@ For ELF targets, the @code{.symver} directive is used like this:
@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. The @code{.versym} directive effectively creates a symbol
+If the symbol @var{name} is defined within the file
+being assembled, the @code{.versym} 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
@@ -4951,6 +4951,11 @@ the name of a node specified in the version script supplied to the linker when
building a shared library. If you are attempting to override a versioned
symbol from a shared library, then @var{nodename} should correspond to the
nodename of the symbol you are trying to override.
+
+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.
@end ifset
@ifset COFF