[PATCH 7/7] Add handling for 64-bit module addresses in Cygwin core dumps
Jon Turney
jon.turney@dronecode.org.uk
Wed Jul 8 15:50:41 GMT 2020
On 06/07/2020 21:13, Christian Biesinger via Gdb-patches wrote:
> On Wed, Jul 1, 2020 at 4:34 PM Jon Turney <jon.turney@dronecode.org.uk> wrote:
>> --- a/bfd/elf.c
>> +++ b/bfd/elf.c
>> @@ -10185,10 +10185,19 @@ elfcore_grok_win32pstatus (bfd *abfd, Elf_Internal_Note *note)
>> break;
>>
>> case 3 /* NOTE_INFO_MODULE */:
>> - /* Make a ".module/xxxxxxxx" section. */
>> + case 4 /* NOTE_INFO_MODULE64 */:
>
> It really seems like these should be actual constants, which would
> also make it easier to understand...
Absolutely.
Before [1], this structure was defined by including Cygwin's
<sys/procfs.h> (so this code didn't work in cross-environments).
I can't find a model of adding note structure definitions (the other
grok_note functions seem to rely on OS definitions), so I'm not sure
what kind of change you are asking me to make in this patch.
[1]
https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=4a6636fbb5c051fbe15d18a005a2a505ef652571
>
>> + /* Make a ".module/<base_address>" section. */
>> /* module_info.base_address */
>> - base_addr = bfd_get_32 (abfd, note->descdata + 4);
>> - sprintf (buf, ".module/%08lx", (unsigned long) base_addr);
>> + if (type == 3)
>
> ...this if.
>
>> --- a/gdb/windows-tdep.c
>> +++ b/gdb/windows-tdep.c
>> + if (data_type == 3) /* NOTE_INFO_MODULE */
>
> Same here.
More information about the Gdb-patches
mailing list