aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/dwarf2dbg.c11
2 files changed, 16 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 972096d..0fe4cc4 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-16 Elias Athanasopoulos <eathan@otenet.gr>
+
+ * dwarf2dbg.c (out_debug_abbrev): Add support for the DW_AT_name field.
+ (out_debug_info): Likewise.
+
2002-09-16 Bruno Haible <bruno@clisp.org>
* config/tc-i386.h (ELF_TARGET_FORMAT): New macro.
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index f8a388b..7f78606 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -1149,6 +1149,7 @@ out_debug_abbrev (abbrev_seg)
out_abbrev (DW_AT_low_pc, DW_FORM_addr);
out_abbrev (DW_AT_high_pc, DW_FORM_addr);
}
+ out_abbrev (DW_AT_name, DW_FORM_string);
out_abbrev (DW_AT_comp_dir, DW_FORM_string);
out_abbrev (DW_AT_producer, DW_FORM_string);
out_abbrev (DW_AT_language, DW_FORM_data2);
@@ -1224,6 +1225,16 @@ out_debug_info (info_seg, abbrev_seg, line_seg)
emit_expr (&expr, sizeof_address);
}
+ /* DW_AT_name. We don't have the actual file name that was present
+ on the command line, so assume files[1] is the main input file.
+ We're not supposed to get called unless at least one line number
+ entry was emitted, so this should always be defined. */
+ if (!files || files_in_use < 1)
+ abort ();
+ len = strlen (files[1].filename) + 1;
+ p = frag_more (len);
+ memcpy (p, files[1].filename, len);
+
/* DW_AT_comp_dir */
comp_dir = getpwd ();
len = strlen (comp_dir) + 1;