summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog8
-rw-r--r--gas/config/tc-ia64.h5
-rw-r--r--gas/dwarf2dbg.c10
3 files changed, 20 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index d4d4f7e122..5e706c17ff 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,11 @@
+2011-03-31 Tristan Gingold <gingold@adacore.com>
+
+ * dwarf2dbg.c (DWARF2_VERSION): Define.
+ (out_debug_line): Use it.
+ (out_debug_aranges): Ditto.
+ (out_debug_info): Ditto.
+ * config/tc-ia64.h (DWARF2_VERSION): Override it.
+
2011-03-30 Michael Snyder <msnyder@vmware.com>
* obj-elf.c (obj_elf_section): Free malloced name.
diff --git a/gas/config/tc-ia64.h b/gas/config/tc-ia64.h
index 1f5771c507..96618e9ab7 100644
--- a/gas/config/tc-ia64.h
+++ b/gas/config/tc-ia64.h
@@ -323,3 +323,8 @@ typedef struct unwind_record
&& (!(FIX)->fx_pcrel \
|| (FIX)->fx_r_type == BFD_RELOC_IA64_PLTOFF22 \
|| TC_FORCE_RELOCATION (FIX)))
+
+/* VMS backtraces expect dwarf version 3. */
+#ifdef TE_VMS
+#define DWARF2_VERSION 3
+#endif
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index c551a7f6c6..41fd01493e 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -89,6 +89,10 @@
#define DWARF2_FILE_SIZE_NAME(FILENAME,DIRNAME) 0
#endif
+#ifndef DWARF2_VERSION
+#define DWARF2_VERSION 2
+#endif
+
#include "subsegs.h"
#include "dwarf2.h"
@@ -1420,7 +1424,7 @@ out_debug_line (segT line_seg)
line_end = exp.X_add_symbol;
/* Version. */
- out_two (2);
+ out_two (DWARF2_VERSION);
/* Length of the prologue following this length. */
prologue_end = symbol_temp_make ();
@@ -1524,7 +1528,7 @@ out_debug_aranges (segT aranges_seg, segT info_seg)
aranges_end = exp.X_add_symbol;
/* Version. */
- out_two (2);
+ out_two (DWARF2_VERSION);
/* Offset to .debug_info. */
TC_DWARF2_EMIT_OFFSET (section_symbol (info_seg), sizeof_offset);
@@ -1627,7 +1631,7 @@ out_debug_info (segT info_seg, segT abbrev_seg, segT line_seg, segT ranges_seg)
info_end = exp.X_add_symbol;
/* DWARF version. */
- out_two (2);
+ out_two (DWARF2_VERSION);
/* .debug_abbrev offset */
TC_DWARF2_EMIT_OFFSET (section_symbol (abbrev_seg), sizeof_offset);