aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2003-04-24 12:47:32 +0000
committerNick Clifton <nickc@redhat.com>2003-04-24 12:47:32 +0000
commit2c8714f20ff04a6c2781c4aaf1535f37b38d1bd3 (patch)
treec455f7eecb27e0476fb848acb19f2ac7f8beecbc
parent8d9cd6b19b78f2a0cd3df40b52b13062e72e41b7 (diff)
downloadgdb-2c8714f20ff04a6c2781c4aaf1535f37b38d1bd3.zip
gdb-2c8714f20ff04a6c2781c4aaf1535f37b38d1bd3.tar.gz
gdb-2c8714f20ff04a6c2781c4aaf1535f37b38d1bd3.tar.bz2
Add support for dwarf2 debug information.
-rw-r--r--gas/ChangeLog9
-rw-r--r--gas/Makefile.am5
-rw-r--r--gas/Makefile.in5
-rw-r--r--gas/config/tc-h8300.c14
-rw-r--r--gas/config/tc-h8300.h3
5 files changed, 32 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 285877d..c5ba178 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,12 @@
+2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * 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 <dhananjayd@kpitcummins.com>
* config/tc-h8300.c (Nmode, h8300hnmode, h8300snmode): New.
diff --git a/gas/Makefile.am b/gas/Makefile.am
index 76665bd..24d7dd2 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 9f18f7f..bb645a5 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 037a84c..280a7f6 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 e09e506..520ebaf 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