aboutsummaryrefslogtreecommitdiff
path: root/gas/dwarf2dbg.h
blob: 9bfd213e6fb8ffb88c18d20262b96583226d2025 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef AS_DWARF2DBG_H
#define AS_DWARF2DBG_H

#include "as.h"

#define DWARF2_FLAG_BEGIN_STMT	(1 << 0)	/* beginning of statement */
#define DWARF2_FLAG_BEGIN_BLOCK	(1 << 1)	/* beginning of basic block */

struct dwarf2_line_info
  {
    char *filename;
    unsigned int filenum;
    unsigned int line;
    unsigned int column;
    unsigned int flags;
  };

/* 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 void dwarf2_directive_file PARAMS ((int dummy));

/* Implements the .loc FILENO LINENO [COLUMN] directive.  FILENO is
   the file number, LINENO the line number and the (optional) COLUMN
   the column of the source code that the following instruction
   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 PARAMS ((int dummy));

/* 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 PARAMS ((struct dwarf2_line_info *l));

/* 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 PARAMS ((bfd_vma addr,
					  struct dwarf2_line_info *l));

/* Must be called after all other input is processed to finish up the
   .debug_line section.  */
extern void dwarf2_finish PARAMS ((void));

#endif /* AS_DWARF2DBG_H */