[PATCH 7/7] Add handling for 64-bit module addresses in Cygwin core dumps
Christian Biesinger
cbiesinger@google.com
Wed Jul 8 16:11:44 GMT 2020
On Wed, Jul 8, 2020 at 10:50 AM Jon Turney <jon.turney@dronecode.org.uk> wrote:
>
> 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.
I was just suggesting adding a `static constexpr int
NOTE_INFO_MODULE64 = 4` in some appropriate place, maybe at the top of
this file.
Er, I guess this is bfd, so make it a #define.
>
> [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