[PATCH][gdb] Fix missing symtab includes
Simon Marchi
simark@simark.ca
Sun Mar 29 15:39:31 GMT 2020
On 2020-03-28 1:24 p.m., Tom de Vries wrote:
>> I am not able to reproduce this. In both cases, I don't get the `includes`.
>>
>> What transformation is dwz expected to do on the binary? Here, it looks like
>> it just compressed the debug info a little bit, changing the addresses, but the
>> general structure was untouched.
>>
>> I'm using the latest git version of dwz (commit b7111689a2ccec2f57343f1051ec8f1df5e89e5c).
>
> Hi Simon,
>
> thanks for trying this out.
>
> I've attached the original a.out here (
> https://sourceware.org/bugzilla/show_bug.cgi?id=25718#c3 ) and the
> dwz-ed a.out here (
> https://sourceware.org/bugzilla/show_bug.cgi?id=25718#c4 ).
>
> I'm hoping you might be able to reproduce using the latter file (and
> FWIW, I'm using the same dwz version).
>
> I think the reason for the difference in what we are seeing is due to me
> using openSUSE, which has debug info on various linked in objects like
> glibc's init.c and elf-init.c. Looking at the readelf -wi output of the
> dwz-ed executable, dwz exploits commonality between those objects and
> hello.c, so it's not surprising dwz does not create partial units for
> platforms that do not have debug info for those objects.
>
> Anyway, I'll need to construct a better test-case that reproduces the
> problem on other platforms.
>
> Thanks,
> - Tom
>
Thanks, your explanations make more sense with the the DWARF in those files,
I can reproduce the problem now.
I have a bit of trouble understanding the current code. In particular, I am
trying to put in words what's the difference between the `read_symtab` and
`expand_symtab` methods of `partial_symtab`, but I can't quite do it. I think
this would help to determine what's the right solution.
Simon
More information about the Gdb-patches
mailing list