From fc0eebac62d01dc69d81829c0b05622ec1922cf0 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 31 Mar 2011 08:02:41 +0000 Subject: 2011-03-31 Tristan Gingold * 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. --- gas/ChangeLog | 8 ++++++++ gas/config/tc-ia64.h | 5 +++++ gas/dwarf2dbg.c | 10 +++++++--- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index d4d4f7e..5e706c1 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2011-03-31 Tristan Gingold + + * 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 * obj-elf.c (obj_elf_section): Free malloced name. diff --git a/gas/config/tc-ia64.h b/gas/config/tc-ia64.h index 1f5771c..96618e9 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 c551a7f..41fd014 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); -- cgit v1.1