From 2c8714f20ff04a6c2781c4aaf1535f37b38d1bd3 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 24 Apr 2003 12:47:32 +0000 Subject: [PATCH] Add support for dwarf2 debug information. --- gas/ChangeLog | 9 +++++++++ gas/Makefile.am | 5 +++-- gas/Makefile.in | 5 +++-- gas/config/tc-h8300.c | 14 ++++++++++++++ gas/config/tc-h8300.h | 3 +++ 5 files changed, 32 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 285877d74d8..c5ba178389d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2003-04-24 Dhananjay Deshpande + + * config/tc-h8300.h (DWARF2_LINE_MIN_INSN_LENGTH): New + * config/tc-h8300.c (dwarf2dbg.h): Include + (md_pseudo_table): Handle .loc and .file + (md_assemble): Call dwarf2_emit_insn if BFD_ASSEMBLER. + * Makefile.am: Add dependency on dwarf2dbg.h for h8300 targets. + * Makefile.in: Regenerate. + 2003-04-24 Dhananjay Deshpande * config/tc-h8300.c (Nmode, h8300hnmode, h8300snmode): New. diff --git a/gas/Makefile.am b/gas/Makefile.am index 76665bdb820..24d7dd2796e 100644 --- a/gas/Makefile.am +++ b/gas/Makefile.am @@ -1099,12 +1099,13 @@ DEPTC_h8300_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-h8300.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/h8300.h \ - $(INCDIR)/safe-ctype.h + $(INCDIR)/safe-ctype.h dwarf2dbg.h DEPTC_h8300_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-h8300.h \ subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/h8300.h \ - $(INCDIR)/safe-ctype.h $(INCDIR)/elf/h8.h $(INCDIR)/elf/reloc-macros.h + $(INCDIR)/safe-ctype.h $(INCDIR)/elf/h8.h $(INCDIR)/elf/reloc-macros.h \ + dwarf2dbg.h DEPTC_h8500_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-h8500.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/h8500.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ diff --git a/gas/Makefile.in b/gas/Makefile.in index 9f18f7fbdf8..bb645a52233 100644 --- a/gas/Makefile.in +++ b/gas/Makefile.in @@ -825,13 +825,14 @@ DEPTC_h8300_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-h8300.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/h8300.h \ - $(INCDIR)/safe-ctype.h + $(INCDIR)/safe-ctype.h dwarf2dbg.h DEPTC_h8300_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-h8300.h \ subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/h8300.h \ - $(INCDIR)/safe-ctype.h $(INCDIR)/elf/h8.h $(INCDIR)/elf/reloc-macros.h + $(INCDIR)/safe-ctype.h $(INCDIR)/elf/h8.h $(INCDIR)/elf/reloc-macros.h \ + dwarf2dbg.h DEPTC_h8500_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-h8500.h $(INCDIR)/coff/internal.h \ diff --git a/gas/config/tc-h8300.c b/gas/config/tc-h8300.c index 037a84ca2a4..280a7f6d322 100644 --- a/gas/config/tc-h8300.c +++ b/gas/config/tc-h8300.c @@ -25,6 +25,11 @@ #include "as.h" #include "subsegs.h" #include "bfd.h" + +#ifdef BFD_ASSEMBLER +#include "dwarf2dbg.h" +#endif + #define DEFINE_TABLE #define h8_opcodes ops #include "opcode/h8300.h" @@ -146,6 +151,11 @@ const pseudo_typeS md_pseudo_table[] = {"sbranch", sbranch, L_8}, {"lbranch", sbranch, L_16}, +#ifdef BFD_ASSEMBLER + {"file", (void (*) PARAMS ((int))) dwarf2_directive_file, 0 }, + {"loc", dwarf2_directive_loc, 0 }, +#endif + {"int", pint, 0}, {"data.b", cons, 1}, {"data.w", cons, 2}, @@ -1406,6 +1416,10 @@ md_assemble (str) } build_bytes (instruction, operand); + +#ifdef BFD_ASSEMBLER + dwarf2_emit_insn (instruction->length); +#endif } #ifndef BFD_ASSEMBLER diff --git a/gas/config/tc-h8300.h b/gas/config/tc-h8300.h index e09e506cd6f..520ebafcef0 100644 --- a/gas/config/tc-h8300.h +++ b/gas/config/tc-h8300.h @@ -58,6 +58,9 @@ extern void tc_reloc_mangle visible symbols can be overridden. */ #define EXTERN_FORCE_RELOC 0 +/* Minimum instruction is of 16 bits. */ +#define DWARF2_LINE_MIN_INSN_LENGTH 2 + #ifdef OBJ_ELF /* Provide mappings from the original H8 COFF relocation names to their corresponding BFD relocation names. This allows us to use -- 2.30.2