Fix sys/procfs.h pr_uid, pr_gid type (bug 23649)
Arnd Bergmann
arnd@arndb.de
Fri Sep 14 11:30:00 GMT 2018
On Thu, Sep 13, 2018 at 10:49 PM Joseph Myers <joseph@codesourcery.com> wrote:
>
> As noted in
> <https://sourceware.org/ml/libc-alpha/2018-09/msg00178.html>, glibc's
> sys/procfs.h headers for microblaze, mips (n64), nios2 and riscv have
> incorrect types for the pr_uid and pr_gid members of struct
> elf_prpsinfo (as does the generic Linux version, but nothing uses
> that).
>
> This patch fixes those headers to use unsigned int. The generic Linux
> version is also fixed, but I do *not* recommend making new
> architectures use it yet. Rather, I think it should be reworked to
> look more like a copy of the AArch64 version, but with a new
> <bits/procfs.h> header included to provide register set definitions;
> <bits/procfs.h> would then be architecture-specific while many
> architectures could use the generic <sys/procfs.h>. This fix is
> deliberately separate from any reworking to use a generic header more,
> since it's possible there could be uses for backporting this fix but
> not for backporting a subsequent cleanup.
>
> Tested with build-many-glibcs.py. This of course doesn't provide much
> validation of the structure layout; if the Linux kernel is fixed so
> that "#include <linux/elfcore.h>" actually compiles with the headers
> from "make headers_install" (and if the layout in both headers is
> meant to be the same, whatever ABI we are building for), I have a test
> that can be added to glibc to check the layout against that from the
> Linux kernel.
>
> 2018-09-13 Joseph Myers <joseph@codesourcery.com>
Looks all good to me, thanks for addressing this!
I've had a look at including linux/elfcore.h from user space,
and what it would take to get it working again. I've got a
prototype patch now (x86 only) that I'll post for futher discussion.
Arnd
More information about the Libc-alpha
mailing list