This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.28.9000-131-gd59f3e5


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  d59f3e5e0fd518eeed1ec11886fd796d163cea5d (commit)
      from  f29b6f17e4e80de9761479c7d377b765095baa67 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d59f3e5e0fd518eeed1ec11886fd796d163cea5d

commit d59f3e5e0fd518eeed1ec11886fd796d163cea5d
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Sep 14 13:21:33 2018 +0000

    Fix sys/procfs.h pr_uid, pr_gid type (bug 23649).
    
    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.
    
    	[BZ #23649]
    	* sysdeps/unix/sysv/linux/microblaze/sys/procfs.h (struct
    	elf_prpsinfo): Use unsigned int for pr_uid and pr_gid.
    	* sysdeps/unix/sysv/linux/mips/sys/procfs.h (struct elf_prpsinfo):
    	Likewise.
    	* sysdeps/unix/sysv/linux/nios2/sys/procfs.h (struct
    	elf_prpsinfo): Likewise.
    	* sysdeps/unix/sysv/linux/riscv/sys/procfs.h (struct
    	elf_prpsinfo): Likewise.
    	* sysdeps/unix/sysv/linux/sys/procfs.h (struct elf_prpsinfo):
    	Likewise.

diff --git a/ChangeLog b/ChangeLog
index 6f71e67..28ec6df 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2018-09-14  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #23649]
+	* sysdeps/unix/sysv/linux/microblaze/sys/procfs.h (struct
+	elf_prpsinfo): Use unsigned int for pr_uid and pr_gid.
+	* sysdeps/unix/sysv/linux/mips/sys/procfs.h (struct elf_prpsinfo):
+	Likewise.
+	* sysdeps/unix/sysv/linux/nios2/sys/procfs.h (struct
+	elf_prpsinfo): Likewise.
+	* sysdeps/unix/sysv/linux/riscv/sys/procfs.h (struct
+	elf_prpsinfo): Likewise.
+	* sysdeps/unix/sysv/linux/sys/procfs.h (struct elf_prpsinfo):
+	Likewise.
+
 	* include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ &&
 	__FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (rint): Redirect
 	using MATH_REDIRECT.
diff --git a/NEWS b/NEWS
index 04a0e89..dbb86a7 100644
--- a/NEWS
+++ b/NEWS
@@ -26,6 +26,11 @@ Deprecated and removed features, and other changes affecting compatibility:
 * The glibc.tune tunable namespace has been renamed to glibc.cpu and the
   tunable glibc.tune.cpu has been renamed to glibc.cpu.name.
 
+* The type of the pr_uid and pr_gid members of struct elf_prpsinfo, defined
+  in <sys/procfs.h>, has been corrected to match the type actually used by
+  the Linux kernel.  This affects the size and layout of that structure on
+  MicroBlaze, MIPS (n64 ABI only), Nios II and RISC-V.
+
 Changes to build and runtime requirements:
 
   [Add changes to build and runtime requirements here]
diff --git a/sysdeps/unix/sysv/linux/microblaze/sys/procfs.h b/sysdeps/unix/sysv/linux/microblaze/sys/procfs.h
index 17c5251..7a98323 100644
--- a/sysdeps/unix/sysv/linux/microblaze/sys/procfs.h
+++ b/sysdeps/unix/sysv/linux/microblaze/sys/procfs.h
@@ -91,8 +91,8 @@ struct elf_prpsinfo
     char pr_zomb;			/* Zombie.  */
     char pr_nice;			/* Nice val.  */
     unsigned long int pr_flag;		/* Flags.  */
-    unsigned short int pr_uid;
-    unsigned short int pr_gid;
+    unsigned int pr_uid;
+    unsigned int pr_gid;
     int pr_pid, pr_ppid, pr_pgrp, pr_sid;
     /* Lots missing.  */
     char pr_fname[16];			/* Filename of executable.  */
diff --git a/sysdeps/unix/sysv/linux/mips/sys/procfs.h b/sysdeps/unix/sysv/linux/mips/sys/procfs.h
index 2be0c7e..523317d 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/procfs.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/procfs.h
@@ -97,8 +97,8 @@ struct elf_prpsinfo
 #else
     unsigned long int pr_flag;		/* Flags.  */
 #endif
-    long pr_uid;
-    long pr_gid;
+    unsigned int pr_uid;
+    unsigned int pr_gid;
     int pr_pid, pr_ppid, pr_pgrp, pr_sid;
     /* Lots missing */
     char pr_fname[16];			/* Filename of executable.  */
diff --git a/sysdeps/unix/sysv/linux/nios2/sys/procfs.h b/sysdeps/unix/sysv/linux/nios2/sys/procfs.h
index a61fe96..1bb18f1 100644
--- a/sysdeps/unix/sysv/linux/nios2/sys/procfs.h
+++ b/sysdeps/unix/sysv/linux/nios2/sys/procfs.h
@@ -91,8 +91,8 @@ struct elf_prpsinfo
     char pr_zomb;			/* Zombie.  */
     char pr_nice;			/* Nice val.  */
     unsigned long int pr_flag;		/* Flags.  */
-    unsigned short int pr_uid;
-    unsigned short int pr_gid;
+    unsigned int pr_uid;
+    unsigned int pr_gid;
     int pr_pid, pr_ppid, pr_pgrp, pr_sid;
     /* Lots missing */
     char pr_fname[16];			/* Filename of executable.  */
diff --git a/sysdeps/unix/sysv/linux/riscv/sys/procfs.h b/sysdeps/unix/sysv/linux/riscv/sys/procfs.h
index 518de56..3abbecf 100644
--- a/sysdeps/unix/sysv/linux/riscv/sys/procfs.h
+++ b/sysdeps/unix/sysv/linux/riscv/sys/procfs.h
@@ -82,8 +82,8 @@ struct elf_prpsinfo
     char pr_zomb;			/* Zombie.  */
     char pr_nice;			/* Nice val.  */
     unsigned long int pr_flag;		/* Flags.  */
-    long int pr_uid;
-    long int pr_gid;
+    unsigned int pr_uid;
+    unsigned int pr_gid;
     int pr_pid, pr_ppid, pr_pgrp, pr_sid;
     /* Lots missing */
     char pr_fname[16];			/* Filename of executable.  */
diff --git a/sysdeps/unix/sysv/linux/sys/procfs.h b/sysdeps/unix/sysv/linux/sys/procfs.h
index 3c417ba..6af44c0 100644
--- a/sysdeps/unix/sysv/linux/sys/procfs.h
+++ b/sysdeps/unix/sysv/linux/sys/procfs.h
@@ -86,8 +86,8 @@ struct elf_prpsinfo
     char pr_zomb;			/* Zombie.  */
     char pr_nice;			/* Nice val.  */
     unsigned long int pr_flag;		/* Flags.  */
-    unsigned short int pr_uid;
-    unsigned short int pr_gid;
+    unsigned int pr_uid;
+    unsigned int pr_gid;
     int pr_pid, pr_ppid, pr_pgrp, pr_sid;
     /* Lots missing */
     char pr_fname[16];			/* Filename of executable.  */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                       |   12 ++++++++++++
 NEWS                                            |    5 +++++
 sysdeps/unix/sysv/linux/microblaze/sys/procfs.h |    4 ++--
 sysdeps/unix/sysv/linux/mips/sys/procfs.h       |    4 ++--
 sysdeps/unix/sysv/linux/nios2/sys/procfs.h      |    4 ++--
 sysdeps/unix/sysv/linux/riscv/sys/procfs.h      |    4 ++--
 sysdeps/unix/sysv/linux/sys/procfs.h            |    4 ++--
 7 files changed, 27 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]