This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: AIX DWARF debugging sections


On Tue, Oct 6, 2015 at 3:59 PM, Doug Evans <dje@google.com> wrote:
> On Tue, Oct 6, 2015 at 11:24 AM, David Edelsohn <dje.gcc@gmail.com> wrote:
>> On Tue, Oct 6, 2015 at 12:51 PM, Joel Brobecker <brobecker@adacore.com> wrote:
>>>> > Because the AIX section does not use the standard name, I am unsure
>>>> > which it represents.  The documentation only states "dwmac", which
>>>> > could expand to either name.
>>>> >
>>>> > Thanks, David
>>>>
>>>> Yeah, I think we need to figure out which one it is.
>>>
>>> That's what I have been trying to do, but I don't see any evidence
>>> that GCC emits it, or that binutils handles it. So the answer must
>>> lie somewhere on the system side. David?
>>
>> The official answer from IBM XLC is the section is for both
>> .debug_macinfo and .debug_macro
>>
>> For DWARF4 and below, the dwmac section corresponds to .debug_macinfo.
>> For DWARF5 and above, the dwmac section corresponds to .debug_macro.
>>
>> XLC currently does not generate any macro debugging information for DWARF4.
>
> Huh.
> Let's make sure this is documented in the code.

Is the following sufficient or you would like more exposition?

diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index 0d49751..86d4ca4 100644
--- a/gdb/xcoffread.c
+++ b/gdb/xcoffread.c
@@ -159,11 +159,11 @@ static const struct dwarf2_debug_sections
dwarf2_xcoff_names = {
   { ".dwabrev", NULL },
   { ".dwline", NULL },
   { ".dwloc", NULL },
-  { NULL, NULL }, /* debug_macinfo */
-  { NULL, NULL }, /* debug_macro */
+  { ".dwmac", NULL }, /* debug_macinfo for DWARF4 and below */
+  { ".dwmac", NULL }, /* debug_macro for DWARF5 and above */
   { ".dwstr", NULL },
   { ".dwrnges", NULL },
-  { NULL, NULL }, /* debug_types */
+  { ".dwpbtyp", NULL },
   { NULL, NULL }, /* debug_addr */
   { ".dwframe", NULL },
   { NULL, NULL }, /* eh_frame */

Thanks, David


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]