aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/dwarf2read.c6
2 files changed, 14 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5acaaf5..8b4a5c4 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2012-07-20 Jan Kratochvil <jan.kratochvil@redhat.com>
+ Tom Tromey <tromey@redhat.com>
+
+ * dwarf2read.c (dwarf_decode_macros)
+ <DW_MACRO_GNU_define_indirect_alt, DW_MACRO_GNU_undef_indirect_alt,
+ DW_MACRO_GNU_transparent_include_alt>: New cases.
+ (dwarf_decode_macro_bytes) <DW_MACRO_GNU_define_indirect,
+ DW_MACRO_GNU_undef_indirect>: Examine 'section_is_dwz'.
+
2012-07-20 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (try_open_dwo_file): Don't call
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index baa2241..9f8de43 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -17539,7 +17539,8 @@ dwarf_decode_macro_bytes (bfd *abfd, gdb_byte *mac_ptr, gdb_byte *mac_end,
mac_ptr += offset_size;
if (macinfo_type == DW_MACRO_GNU_define_indirect_alt
- || macinfo_type == DW_MACRO_GNU_undef_indirect_alt)
+ || macinfo_type == DW_MACRO_GNU_undef_indirect_alt
+ || section_is_dwz)
{
struct dwz_file *dwz = dwarf2_get_dwz_file ();
@@ -17862,6 +17863,8 @@ dwarf_decode_macros (struct dwarf2_cu *cu, unsigned int offset,
case DW_MACRO_GNU_define_indirect:
case DW_MACRO_GNU_undef_indirect:
+ case DW_MACRO_GNU_define_indirect_alt:
+ case DW_MACRO_GNU_undef_indirect_alt:
{
unsigned int bytes_read;
@@ -17872,6 +17875,7 @@ dwarf_decode_macros (struct dwarf2_cu *cu, unsigned int offset,
break;
case DW_MACRO_GNU_transparent_include:
+ case DW_MACRO_GNU_transparent_include_alt:
/* Note that, according to the spec, a transparent include
chain cannot call DW_MACRO_GNU_start_file. So, we can just
skip this opcode. */