PowerPC Rename powerxx to power10
[deliverable/binutils-gdb.git] / gas / doc / as.texi
index ff0ef63fbd81335cc14e3e10bfc23e36db519535..dd6c96835f95189f5fa9007a7b544171f59c6ad3 100644 (file)
@@ -780,7 +780,7 @@ per target basis.
 @item --gdwarf-5
 This option is the same as the @option{--gdwarf-2} option, except that it
 allows for the possibility of the generation of extra debug information as per
-version 4 of the DWARF specification.  Note - enabling this option does not
+version 5 of the DWARF specification.  Note - enabling this option does not
 guarantee the generation of any extra infortmation, the choice to do so is on a
 per target basis.
 
@@ -2842,8 +2842,9 @@ anything else you may get from your C compiler's preprocessor.  You can
 do include file processing with the @code{.include} directive
 (@pxref{Include,,@code{.include}}).  You can use the @sc{gnu} C compiler driver
 to get other ``CPP'' style preprocessing by giving the input file a
-@samp{.S} suffix.  @xref{Overall Options, ,Options Controlling the Kind of
-Output, gcc info, Using GNU CC}.
+@samp{.S} suffix.  @url{https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html#Overall-Options,
+See the 'Options Controlling the Kind of Output' section of the GCC manual for
+more details}
 
 Excess whitespace, comments, and character constants
 cannot be used in the portions of the input text that are not
@@ -4509,7 +4510,7 @@ Some machine configurations provide additional directives.
 * Struct::                     @code{.struct @var{expression}}
 @ifset ELF
 * SubSection::                  @code{.subsection}
-* Symver::                      @code{.symver @var{name},@var{name2@@nodename}}
+* Symver::                      @code{.symver @var{name},@var{name2@@nodename}[,@var{visibility}]}
 @end ifset
 
 @ifset COFF
@@ -5366,13 +5367,29 @@ to the @code{.debug_line} file name table.  The syntax is:
 
 The @var{fileno} operand should be a unique positive integer to use as the
 index of the entry in the table.  The @var{filename} operand is a C string
-literal.
+literal enclosed in double quotes.  The @var{filename} can include directory
+elements.  If it does, then the directory will be added to the directory table
+and the basename will be added to the file table.
 
 The detail of filename indices is exposed to the user because the filename
 table is shared with the @code{.debug_info} section of the DWARF2 debugging
 information, and thus the user must know the exact indices that table
 entries will have.
 
+If DWARF-5 support has been enabled via the @option{-gdwarf-5} option then
+an extended version of the @code{file} is also allowed:
+
+@smallexample
+.file @var{fileno} [@var{dirname}] @var{filename} [md5 @var{value}]
+@end smallexample
+
+With this version a separate directory name is allowed, although if this is
+used then @var{filename} should not contain any directory components.  In
+addtion an md5 hash value of the contents of @var{filename} can be provided.
+This will be stored in the the file table as well, and can be used by tools
+reading the debug information to verify that the contents of the source file
+match the contents of the compiled file.
+
 @node Fill
 @section @code{.fill @var{repeat} , @var{size} , @var{value}}
 
@@ -7096,9 +7113,9 @@ shared library.
 
 For ELF targets, the @code{.symver} directive can be used like this:
 @smallexample
-.symver @var{name}, @var{name2@@nodename}
+.symver @var{name}, @var{name2@@nodename}[ ,@var{visibility}]
 @end smallexample
-If the symbol @var{name} is defined within the file
+If the original symbol @var{name} is defined within the file
 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
@@ -7111,7 +7128,14 @@ function is being mentioned.  The @var{nodename} portion of the alias should be
 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.
+nodename of the symbol you are trying to override.  The optional argument
+@var{visibility} updates the visibility of the original symbol.  The valid
+visibilities are @code{local}, @code{hidden}, and @code{remove}.  The
+@code{local} visibility makes the original symbol a local symbol
+(@pxref{Local}).  The @code{hidden} visibility sets the visibility of the
+original symbol to @code{hidden} (@pxref{Hidden}).  The @code{remove}
+visibility removes the original symbol from the symbol table.  If visibility
+isn't specified, the original symbol is unchanged.
 
 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
This page took 0.025903 seconds and 4 git commands to generate.