X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fdwarf2dbg.h;h=c5ff24a26227429d219ff008114a3629bce2290a;hb=6dbdab44e57d21c895ef60246d0e7aadb3c076a4;hp=9e2ceada080c20ccf53e42a381a1d476cadbc4f1;hpb=2571583aed598dd3f9651b53434e5f177a0e3cf7;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/dwarf2dbg.h b/gas/dwarf2dbg.h index 9e2ceada08..c5ff24a262 100644 --- a/gas/dwarf2dbg.h +++ b/gas/dwarf2dbg.h @@ -1,5 +1,5 @@ /* dwarf2dbg.h - DWARF2 debug support - Copyright (C) 1999-2017 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -28,19 +28,23 @@ #define DWARF2_FLAG_PROLOGUE_END (1 << 2) #define DWARF2_FLAG_EPILOGUE_BEGIN (1 << 3) -struct dwarf2_line_info { +struct dwarf2_line_info +{ unsigned int filenum; unsigned int line; unsigned int column; unsigned int isa; unsigned int flags; unsigned int discriminator; + symbolS *view; }; /* Implements the .file FILENO "FILENAME" directive. FILENO can be 0 to indicate that no file number has been assigned. All real file - number must be >0. */ -extern char *dwarf2_directive_file (int dummy); + number must be >0. The second form returns the filename extracted + from the input stream. */ +extern void dwarf2_directive_file (int); +extern char * dwarf2_directive_filename (void); /* Implements the .loc FILENO LINENO [COLUMN] directive. FILENO is the file number, LINENO the line number and the (optional) COLUMN @@ -48,27 +52,27 @@ extern char *dwarf2_directive_file (int dummy); corresponds to. FILENO can be 0 to indicate that the filename specified by the textually most recent .file directive should be used. */ -extern void dwarf2_directive_loc (int dummy); +extern void dwarf2_directive_loc (int); /* Implements the .loc_mark_labels {0,1} directive. */ -extern void dwarf2_directive_loc_mark_labels (int dummy); +extern void dwarf2_directive_loc_mark_labels (int); /* Returns the current source information. If .file directives have been encountered, the info for the corresponding source file is returned. Otherwise, the info for the assembly source file is returned. */ -extern void dwarf2_where (struct dwarf2_line_info *l); +extern void dwarf2_where (struct dwarf2_line_info *); /* A hook to allow the target backend to inform the line number state machine of isa changes when assembler debug info is enabled. */ -extern void dwarf2_set_isa (unsigned int isa); +extern void dwarf2_set_isa (unsigned int); /* This function generates .debug_line info based on the address and source information passed in the arguments. ADDR should be the frag-relative offset of the instruction the information is for and L is the source information that should be associated with that address. */ -extern void dwarf2_gen_line_info (addressT addr, struct dwarf2_line_info *l); +extern void dwarf2_gen_line_info (addressT, struct dwarf2_line_info *); /* Must be called for each generated instruction. */ extern void dwarf2_emit_insn (int); @@ -99,9 +103,12 @@ extern int dwarf2dbg_estimate_size_before_relax (fragS *); extern int dwarf2dbg_relax_frag (fragS *); extern void dwarf2dbg_convert_frag (fragS *); +extern void dwarf2dbg_final_check (void); + /* An enumeration which describes the sizes of offsets (to DWARF sections) and the mechanism by which the size is indicated. */ -enum dwarf2_format { +enum dwarf2_format +{ /* 32-bit format: the initial length field is 4 bytes long. */ dwarf2_format_32bit, /* DWARF3 64-bit format: the representation of the initial length