RFC: Add ET_DEBUG
Mark Wielaard
mark@klomp.org
Wed Jul 15 14:02:18 GMT 2020
On Fri, 2020-06-26 at 23:35 +0200, Florian Weimer wrote:
> * H. J. Lu via Libc-alpha:
>
> > We need a way to identify "debug" info files, which appear like they
> > are ELF files but if inspected are actually missing a lot of
> > information and can't be properly parsed without the original DSO or
> > executable.
> > We propose
> >
> > #define ET_DEBUG 5 /* Debug information file */
> >
> > Consumers should skip ET_DEBUG files if they don't know how to
> > handle them. Debuggers should process ET_DEBUG files to extract
> > debug info.
>
> I would like to see a change like this.
>
> For background: These separate debuginfo files contain the same program
> headers as the original object file, but all the loadable segments are
> missing from the file (including the dynamic segment). Tools compare
> these program headers for consistency, so we cannot change them in the
> separate debuginfo.
>
> In the dynamic loader, we only have ready access to the loadable
> segments. This means the ELF header is the only area of overlap, and
> the information to tell the two apart has to be located there.
Note that this is only true for separate debug file for ET_EXEC and
ET_DYN ELF files. Some debug files, like stripped ET_REL ELF files,
split-dwarf .dwo files, supplementary debug files (dwz multi files),
don't contain any program headers. Should those also be marked ET_DEBUG
or not? I think they should. And then the above description should
simply say "may contain the same program headers as the associated
(original) object file...".
Cheers,
Mark
More information about the Libc-alpha
mailing list