This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] PR symtab/13277: Resolving opaque structures in ICC generated binaries.
- From: Tom Tromey <tromey at redhat dot com>
- To: John Steele Scott <toojays at toojays dot net>
- Cc: Jan Kratochvil <jan dot kratochvil at redhat dot com>, gdb-patches at sourceware dot org
- Date: Tue, 15 Nov 2011 10:18:49 -0700
- Subject: Re: [patch] PR symtab/13277: Resolving opaque structures in ICC generated binaries.
- References: <4E9A6F3C.6010400@toojays.net> <20111019084011.GA9326@host1.jankratochvil.net> <4EA3E995.8040206@toojays.net> <20111026221057.GA24628@host1.jankratochvil.net> <4EBFB451.8030503@toojays.net>
>>>>> "John" == John Steele Scott <toojays@toojays.net> writes:
Jan> There is one problem that -gdwarf-4 (-fdebug-types-section)
Jan> .debug_types units do not contain DW_AT_producer and GDB currently
Jan> does not try to inherit it from the referencing .debug_info
Jan> sections.
Jan> But latest icc still does not support DW_AT_producer and I am not
Jan> sure if it would use the declaration form inside .debug_types
Jan> anyway.
John> I don't follow this paragraph. Did you mean something other than
John> icc? I'm using ICC 12.0.4, and it's definitely setting
John> DW_AT_producer. I don't see it outputting any .debug_types section
John> though, it seems to only emit dwarf2.
I think maybe he meant .debug_types in that second paragraph where he
wrote DW_AT_producer. Or maybe I just don't understand as well :)
John> 2011-11-13 John Steele Scott <toojays@toojays.net>
John> PR symtab/13277: Resolving opaque structures in ICC generated binaries.
John> * dwarf2read.c (producer_is_icc): New function.
John> (read_structure_type): Set TYPE_STUB on structures/unions/classes
John> with a byte size of zero, if they were produced by ICC.
John> (process_structure_scope): Extract "external reference" check into
John> die_is_incomplete_type.
John> (die_is_incomplete_type): New function.
John> (read_partial_die): If a structure/union/class has a byte_size of zero,
John> and it was produced by ICC, set part_die->is_declaration instead of
This patch is ok. You didn't say, but I assume it passed all regression
tests?
Tom