diff options
author | Richard Henderson <rth@redhat.com> | 2005-09-07 11:41:25 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2005-09-07 11:41:25 +0000 |
commit | bd0eb99b906bd9e11675cf96a196e4044c39282a (patch) | |
tree | c1570ec872b360e652df9fec5d42c5ac78449de2 /gas/doc | |
parent | b8ee1a6e86e6d9a74a59ef3c251183a10e87311e (diff) | |
download | gdb-bd0eb99b906bd9e11675cf96a196e4044c39282a.zip gdb-bd0eb99b906bd9e11675cf96a196e4044c39282a.tar.gz gdb-bd0eb99b906bd9e11675cf96a196e4044c39282a.tar.bz2 |
* dwarf2dbg.c: Include safe-ctype.h.
(DWARF2_LINE_OPCODE_BASE): Bump to 13.
(current): Initialize.
(dwarf2_emit_insn): Clear DWARF2_FLAG_BASIC_BLOCK,
DWARF2_FLAG_PROLOGUE_END, DWARF2_FLAG_EPILOGUE_BEGIN.
(dwarf2_directive_file): Cope with invalid filename.
(dwarf2_directive_loc): Add handling for basic_block, prologue_end,
epilogue_begin, is_stmt, isa.
(emit_inc_line_addr): Move line_delta == 0, addr_delta == 0 special
case down lower.
(process_entries): Handle isa, DWARF2_FLAG_PROLOGUE_END,
and DWARF2_FLAG_EPILOGUE_BEGIN.
(out_debug_line): Emit sizes for DW_LNS_set_prologue_end,
DW_LNS_set_epilogue_begin, DW_LNS_set_isa.
* dwarf2dbg.h (DWARF2_FLAG_IS_STMT): Rename from DWARF2_FLAG_BEGIN_STMT. (DWARF2_FLAG_BASIC_BLOCK): Rename from DWARF2_FLAG_BEGIN_BLOCK.
(DWARF2_FLAG_PROLOGUE_END, DWARF2_FLAG_EPILOGUE_BEGIN): New.
(struct dwarf2_line_info): Add isa member.
* doc/as.texinfo (LNS directives): New node.
Diffstat (limited to 'gas/doc')
-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}} |