Re: [RFC][PATCHES] converting FDPIC coredumps to regsets
From: Nicolas Pitre
Date: Tue Jun 30 2020 - 11:46:01 EST
On Tue, 30 Jun 2020, Al Viro wrote:
> The obvious solution is to introduce struct elf_prstatus_fdpic
> and use that in binfmt_elf_fdpic.c, taking these fields out of the
> normal struct elf_prstatus. Unfortunately, the damn thing is defined in
> include/uapi/linux/elfcore.h, so nominally it's a part of userland ABI.
> However, not a single userland program actually includes linux/elfcore.h.
> The reason is that the definition in there uses elf_gregset_t as a member,
> and _that_ is not defined anywhere in the exported headers. It is defined
> in (libc) sys/procfs.h, but the same file defines struct elf_prstatus
> as well. So if you try to include linux/elfcore.h without having already
> pulled sys/procfs.h, it'll break on incomplete type of a member. And if
> you have pulled sys/procfs.h, it'll break on redefining a structure.
> IOW, it's not usable and it never had been; as the matter of fact,
> that's the reason sys/procfs.h had been introduced back in 1996.
Huh! That's convenient alright.
Acked-by: Nicolas Pitre <nico@xxxxxxxxxxx>
Nicolas