This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: FYI: implement new DWARF macro proposal
- From: Tristan Gingold <gingold at adacore dot com>
- To: Tom Tromey <tromey at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 27 Jul 2011 10:08:32 +0200
- Subject: Re: FYI: implement new DWARF macro proposal
- References: <m3y5zlotxm.fsf@fleche.redhat.com>
On Jul 26, 2011, at 7:03 PM, Tom Tromey wrote:
> I'm checking this in.
>
> Jakub recently wrote a spec and implementation for a new representation
> of the data currently in .debug_macinfo. This new representation takes
> much less space the old one. Jakub's code is now in GCC trunk.
>
> This patch implements the new format for gdb.
>
> Built and regtested by the buildbot. I also tested macscp.exp and
> lineinc.exp using the new compiler.
>
> Tom
>
> 2011-07-26 Tom Tromey <tromey@redhat.com>
>
> * symfile.h (struct dwarf2_debug_sections) <macro>: New field.
> * dwarf2read.c (read_indirect_string_at_offset): New function.
> (read_indirect_string): Use it.
> (dwarf_decode_macro_bytes): New function, taken from
> dwarf_decode_macros. Handle DW_MACRO_GNU_*.
> (dwarf_decode_macros): Use it. handle DW_MACRO_GNU_*.
> (dwarf_parse_macro_header, skip_form_bytes, skip_unknown_opcode):
> New functions.
> (struct dwarf2_per_objfile) <macro>: New field.
> (dwarf2_elf_names): Add .debug_macro.
> (dwarf2_macros_too_long_complaint): Add 'section' argument.
> (dwarf2_locate_sections): Handle new section.
> (read_file_scope): Handle DW_AT_GNU_macros.
> (dwarf2_per_objfile_free): Unmap the .debug_macro section.
[...]
> diff --git a/gdb/symfile.h b/gdb/symfile.h
> index cc65a14..eb5beaa 100644
> --- a/gdb/symfile.h
> +++ b/gdb/symfile.h
> @@ -582,6 +582,7 @@ struct dwarf2_debug_sections {
> struct dwarf2_section_names line;
> struct dwarf2_section_names loc;
> struct dwarf2_section_names macinfo;
> + struct dwarf2_section_names macro;
> struct dwarf2_section_names str;
> struct dwarf2_section_names ranges;
> struct dwarf2_section_names types;
Looks like you forgot to update the table for AIX.
Tristan.