Re: [patch] solib-svr4.c - allow reading linkmap info from core without executable

Mark Kettenis
2009-06-19T14:42:30Z

> From: Aleksandar Ristovski <aristovski@qnx.com>
> Date: Fri, 19 Jun 2009 10:16:26 -0400
>
> Pedro Alves wrote:
> >
> > I was thinking on pushing the elf check a bit down instead,
> > like the below. However, having now tested this, I see that
> > this doesn't work in most of the cores I have here (x86_64-linux).
> > In most cases I see, the segment that would contain the program
> > headers, as indicated by auxv info, isn't included in the
> > core...
> >
> > (objdump -h)
> > Idx Name Size VMA LMA File off Algn
> > :
> > 6 load1 00000000 0000000000400000 0000000000000000 000008f8 2**0
> > ALLOC, READONLY, CODE
> > :
> >

I'm somewhat amazed that the Linux kernel doesn't dump the auxv stuff.
Without the auxv data, debugging core dumps of PIE executables will be
impossible.

Perhaps the kernel does include the information in the does, but bfd
doesn't have the necessary code to turn it into an .auxv section?

> It is probably not dumped separately in a note, but if it
> is a full core, then it should be retrievable.

How do you figure out where to look? Especially for PIE executables
this will be very hard.

> This is the case I have with Neutrino core files.

I suppose Neutrino doesn't support PIE executables?