From d6671bf55ebe1035c84f4691068ca3e191477981 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 29 Nov 2000 21:42:41 +0000 Subject: * dwarf2dbg.c: Rewrite from scratch. Queue all debugging output until dwarf2_finish; use relaxation to get cross-fragment offsets; thread multiple subsegments properly; handle multiple code sections properly; emit proper compilation unit info for assembler generated debugging. * as.h (enum _relax_state): Add rs_dwarf2dbg. * dwarf2dbg.h (struct dwarf2_line_info): Remove filename. (dwarf2dbg_estimate_size_before_relax): Declare. (dwarf2dbg_relax_frag, dwarf2dbg_convert_frag): Declare. * write.c: Include dwarf2dbg.h. (cvt_frag_to_fill): Handle rs_dwarf2dbg. (relax_segment): Likewise. --- gas/dwarf2dbg.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gas/dwarf2dbg.h') diff --git a/gas/dwarf2dbg.h b/gas/dwarf2dbg.h index e97635c235..cdb76ab5f7 100644 --- a/gas/dwarf2dbg.h +++ b/gas/dwarf2dbg.h @@ -27,7 +27,6 @@ #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; @@ -61,10 +60,13 @@ extern void dwarf2_where PARAMS ((struct dwarf2_line_info *l)); extern void dwarf2_gen_line_info PARAMS ((addressT addr, struct dwarf2_line_info *l)); -/* Must be called after all other input is processed to finish up the - .debug_line section. */ +/* Must be called for each generated instruction. */ +extern void dwarf2_emit_insn PARAMS ((int)); + extern void dwarf2_finish PARAMS ((void)); -extern void dwarf2_emit_insn PARAMS ((int)); +extern int dwarf2dbg_estimate_size_before_relax PARAMS ((fragS *)); +extern int dwarf2dbg_relax_frag PARAMS ((fragS *)); +extern void dwarf2dbg_convert_frag PARAMS ((fragS *)); #endif /* AS_DWARF2DBG_H */ -- cgit v1.2.1