diff options
Diffstat (limited to 'gas/doc/as.texinfo')
-rw-r--r-- | gas/doc/as.texinfo | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index 0721631..e85677d 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -3745,9 +3745,12 @@ Some machine configurations provide additional directives. * Line:: @code{.line @var{line-number}} @end ifclear -* Ln:: @code{.ln @var{line-number}} * Linkonce:: @code{.linkonce [@var{type}]} * List:: @code{.list} +* Ln:: @code{.ln @var{line-number}} + +* LNS directives:: @code{.file}, @code{.loc}, etc. + * Long:: @code{.long @var{expressions}} @ignore * Lsym:: @code{.lsym @var{symbol}, @var{expression}} @@ -4049,6 +4052,48 @@ Allows the user to add arbitrary bytes to the unwind info. One might use this to add OS-specific CFI opcodes, or generic CFI opcodes that GAS does not yet support. +@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 indicies 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 indicies that table +entries will have. + +@section @code{.loc @var{fileno} @var{lineno} [@var{column}]} +@cindex @code{loc} directive +The @code{.loc} directive will add 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 +the row is added. + +@section @code{.loc basic_block} +This directive will set the @code{basic_block} register in the +@code{.debug_line} state machine to @code{true}. + +@section @code{.loc prologue_end} +This directive will set the @code{prologue_end} register in the +@code{.debug_line} state machine to @code{true}. + +@section @code{.loc epilogue_begin} +This directive will set the @code{epilogue_begin} register in the +@code{.debug_line} state machine to @code{true}. + +@section @code{.loc is_stmt @var{value}} +This directive will set the @code{epilogue_begin} register in the +@code{.debug_line} state machine to @code{value}, which must be +either 0 or 1. + +@section @code{.loc isa @var{value}} +This directive will set the @code{isa} register in the @code{.debug_line} +state machine to @var{value}, which must be an unsigned integer. + @node Data @section @code{.data @var{subsection}} |