summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--NEWS6
-rw-r--r--sysdeps/unix/sysv/linux/mips/sys/procfs.h9
3 files changed, 11 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 28ec6df0f3..99a560f233 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2018-09-14  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #23656]
+	* sysdeps/unix/sysv/linux/mips/sys/procfs.h (struct elf_prstatus):
+	Remove [_MIPS_SIM = _ABIN32] conditional case.
+	(struct elf_prpsinfo): Likewise.
+
 	[BZ #23649]
 	* sysdeps/unix/sysv/linux/microblaze/sys/procfs.h (struct
 	elf_prpsinfo): Use unsigned int for pr_uid and pr_gid.
diff --git a/NEWS b/NEWS
index dbb86a73a3..f76ada94d3 100644
--- a/NEWS
+++ b/NEWS
@@ -31,6 +31,12 @@ Deprecated and removed features, and other changes affecting compatibility:
   the Linux kernel.  This affects the size and layout of that structure on
   MicroBlaze, MIPS (n64 ABI only), Nios II and RISC-V.
 
+* For the MIPS n32 ABI, the type of the pr_sigpend and pr_sighold members of
+  struct elf_prstatus, and the pr_flag member 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 those
+  structures.
+
 Changes to build and runtime requirements:
 
   [Add changes to build and runtime requirements here]
diff --git a/sysdeps/unix/sysv/linux/mips/sys/procfs.h b/sysdeps/unix/sysv/linux/mips/sys/procfs.h
index 523317dec7..6c4227781a 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/procfs.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/procfs.h
@@ -64,13 +64,8 @@ struct elf_prstatus
   {
     struct elf_siginfo pr_info;		/* Info associated with signal.  */
     short int pr_cursig;		/* Current signal.  */
-#if _MIPS_SIM == _ABIN32
-    __extension__ unsigned long long int pr_sigpend;
-    __extension__ unsigned long long int pr_sighold;
-#else
     unsigned long int pr_sigpend;	/* Set of pending signals.  */
     unsigned long int pr_sighold;	/* Set of held signals.  */
-#endif
     __pid_t pr_pid;
     __pid_t pr_ppid;
     __pid_t pr_pgrp;
@@ -92,11 +87,7 @@ struct elf_prpsinfo
     char pr_sname;			/* Char for pr_state.  */
     char pr_zomb;			/* Zombie.  */
     char pr_nice;			/* Nice val.  */
-#if _MIPS_SIM == _ABIN32
-    __extension__ unsigned long long int pr_flag;
-#else
     unsigned long int pr_flag;		/* Flags.  */
-#endif
     unsigned int pr_uid;
     unsigned int pr_gid;
     int pr_pid, pr_ppid, pr_pgrp, pr_sid;