X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fdoc%2Fas.texi;h=f8d892eaa5c1771237189a6963285fb60e6a3197;hb=efb763a5ea351f9d865cbe491909f03472ebf2d6;hp=e97042c680110aef063d48cdef973f83ca667f27;hpb=fcaaac0a0d3d46e3c59f87c1445852ac77b6c118;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/doc/as.texi b/gas/doc/as.texi index e97042c680..f8d892eaa5 100644 --- a/gas/doc/as.texi +++ b/gas/doc/as.texi @@ -230,7 +230,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. [@b{--compress-debug-sections}] [@b{--nocompress-debug-sections}] [@b{--debug-prefix-map} @var{old}=@var{new}] [@b{--defsym} @var{sym}=@var{val}] [@b{-f}] [@b{-g}] [@b{--gstabs}] - [@b{--gstabs+}] [@b{--gdwarf-2}] [@b{--gdwarf-sections}] + [@b{--gstabs+}] [@b{--gdwarf-}] [@b{--gdwarf-sections}] [@b{--gdwarf-cie-version}=@var{VERSION}] [@b{--help}] [@b{-I} @var{dir}] [@b{-J}] [@b{-K}] [@b{-L}] [@b{--listing-lhs-width}=@var{NUM}] @@ -626,6 +626,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. [@b{--[no-]transform}] [@b{--rename-section} @var{oldname}=@var{newname}] [@b{--[no-]trampolines}] + [@b{--abi-windowed}|@b{--abi-call0}] @end ifset @ifset Z80 @@ -763,6 +764,27 @@ Generate DWARF2 debugging information for each assembler line. This may help debugging assembler code, if the debugger can handle it. Note---this option is only supported by some targets, not all of them. +@item --gdwarf-3 +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 3 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. + +@item --gdwarf-4 +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 +guarantee the generation of any extra infortmation, the choice to do so is on a +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 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. + @item --gdwarf-sections Instead of creating a .debug_line section, create a series of .debug_line.@var{foo} sections where @var{foo} is the name of the @@ -2821,8 +2843,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 @@ -4488,7 +4511,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 @@ -5345,13 +5368,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}} @@ -7075,9 +7114,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 @@ -7090,7 +7129,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