From 14082c76243bc7ec79c20faa7b01a320f30caa97 Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Thu, 9 Oct 2008 18:08:10 +0000 Subject: [PATCH] * doc/as.texinfo (Pseudo Ops): Remove no-file-dir conditional around menu entry for File; remove version-specific .file operands from menu description. Replace "LNS directives" menu entry with new entries for "Loc" and "Loc_mark_labels". (LNS directives): Split into separate nodes for each directive. (Loc): New node for .loc directive. Mention that this directive is for DWARF2 and add a missing article. (Loc_mark_labels): Likewise for .loc_mark_labels. (File): Change this node to describe both the default version and the DWARF2 version of .file. Move the no-file-dir conditional to include only the default version. --- gas/ChangeLog | 14 ++++++++++ gas/doc/as.texinfo | 70 +++++++++++++++++++++++++++++----------------- 2 files changed, 58 insertions(+), 26 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index a3b056bee21..a2e5cb0ef3e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,17 @@ +2008-10-09 Bob Wilson + + * doc/as.texinfo (Pseudo Ops): Remove no-file-dir conditional around + menu entry for File; remove version-specific .file operands from menu + description. Replace "LNS directives" menu entry with new entries + for "Loc" and "Loc_mark_labels". + (LNS directives): Split into separate nodes for each directive. + (Loc): New node for .loc directive. Mention that this directive + is for DWARF2 and add a missing article. + (Loc_mark_labels): Likewise for .loc_mark_labels. + (File): Change this node to describe both the default version and + the DWARF2 version of .file. Move the no-file-dir conditional to + include only the default version. + 2008-10-09 Eric Botcazou * dw2gencfi.c (cfi_finish): Deal with md_fix_up_eh_frame. diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index 445445b2021..2503ed4a93b 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -3841,10 +3841,7 @@ Some machine configurations provide additional directives. * Exitm:: @code{.exitm} * Extern:: @code{.extern} * Fail:: @code{.fail} -@ifclear no-file-dir -* File:: @code{.file @var{string}} -@end ifclear - +* File:: @code{.file} * Fill:: @code{.fill @var{repeat} , @var{size} , @var{value}} * Float:: @code{.float @var{flonums}} * Func:: @code{.func} @@ -3875,8 +3872,8 @@ Some machine configurations provide additional directives. * Linkonce:: @code{.linkonce [@var{type}]} * List:: @code{.list} * Ln:: @code{.ln @var{line-number}} - -* LNS directives:: @code{.file}, @code{.loc}, etc. +* Loc:: @code{.loc @var{fileno} @var{lineno}} +* Loc_mark_labels:: @code{.loc_mark_labels @var{enable}} @ifset ELF * Local:: @code{.local @var{names}} @end ifset @@ -4244,22 +4241,11 @@ mark a code segment that has only one return address which is reached by a direct branch and no copy of the return address exists in memory or another register. -@node LNS directives -@section @code{.file @var{fileno} @var{filename}} -@cindex @code{file} directive -When emitting dwarf2 line number information @code{.file} assigns filenames -to the @code{.debug_line} file name table. 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. - -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. - +@node Loc @section @code{.loc @var{fileno} @var{lineno} [@var{column}] [@var{options}]} @cindex @code{loc} directive -The @code{.loc} directive will add row to the @code{.debug_line} line +When emitting DWARF2 line number information, +the @code{.loc} directive will add a row to the @code{.debug_line} line number matrix corresponding to the immediately following assembly instruction. The @var{fileno}, @var{lineno}, and optional @var{column} arguments will be applied to the @code{.debug_line} state machine before @@ -4291,9 +4277,11 @@ state machine to @var{value}, which must be an unsigned integer. @end table +@node Loc_mark_labels @section @code{.loc_mark_labels @var{enable}} @cindex @code{loc_mark_labels} directive -The @code{.loc_mark_labels} directive makes the assembler emit an entry +When emitting DWARF2 line number information, +the @code{.loc_mark_labels} directive makes the assembler emit an entry to the @code{.debug_line} line number matrix with the @code{basic_block} register in the state machine set whenever a code label is seen. The @var{enable} argument should be either 1 or 0, to enable or disable @@ -4529,21 +4517,51 @@ than 500, @command{@value{AS}} will print an error message. The message will include the value of @var{expression}. This can occasionally be useful inside complex nested macros or conditional assembly. -@ifclear no-file-dir @node File -@section @code{.file @var{string}} - +@section @code{.file} @cindex @code{file} directive + +@ifclear no-file-dir +There are two different versions of the @code{.file} directive. Targets +that support DWARF2 line number information use the DWARF2 version of +@code{.file}. Other targets use the default version. + +@subheading Default Version + @cindex logical file name @cindex file name, logical -@code{.file} tells @command{@value{AS}} that we are about to start a new logical -file. @var{string} is the new file name. In general, the filename is +This version of the @code{.file} directive tells @command{@value{AS}} that we +are about to start a new logical file. The syntax is: + +@smallexample +.file @var{string} +@end smallexample + +@var{string} is the new file name. In general, the filename is recognized whether or not it is surrounded by quotes @samp{"}; but if you wish to specify an empty file name, you must give the quotes--@code{""}. This statement may go away in future: it is only recognized to be compatible with old @command{@value{AS}} programs. + +@subheading DWARF2 Version @end ifclear +When emitting DWARF2 line number information, @code{.file} assigns filenames +to the @code{.debug_line} file name table. The syntax is: + +@smallexample +.file @var{fileno} @var{filename} +@end smallexample + +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. + +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. + @node Fill @section @code{.fill @var{repeat} , @var{size} , @var{value}} -- 2.30.2