Re: sysroot and coredump debugging

Luis Machado via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 4/23/25 14:06, Lluís Batlle i Rossell via Gdb wrote:
> Hello,
> 
> I have an target system, for which I have a sysroot path in my
> development computer. Both GNU/Linux.
> 
> I expect that I can run this in my development computer, after downloading
> the core dump from the target system:
> (gdb) set sysroot /mysysroot
> (gdb) file myelf  #  it has debug info
> (gdb) core-file core
> 
> And this never works; it drops the file with the symbols, thinking it's
> unrelated to the core dump:
> 
> warning: Can't open file /home/user/myelf during file-backed mapping note
> processing
> warning: core file may not match specified executable file.
> 
> Nothing works with dynamic libs loaded either. The only way I can make gdb
> to allow me to debug the core dump with symbols is by copying the elf to
> "/mysysroot/home/user/myelf", as it was in the target system.
> 
> Is this expected? It is very annoying. Why should the elf of the
> executable sit within the sysroot in an exact place, to debug a core dump?
> 
> I use gdb 15.2 but this happens at least since gdb 11. Maybe it is fixed
> in a newer version?
> 
> Thank you,
> Lluís.

Unfortunately I think this is an area where improvements could be made. I know
we have "substitute-path", but that's only for sources. In theory setting sysroot
should work, but it doesn't seem to.

We want gdb to be strict about making sure the core file matches the ELF file, but
we could have some adjustability here.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.