aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-09-14 16:02:57 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-09-14 16:02:57 +0000
commit3f7f1d180d6f1cef2c4ea83f5bda76516a75212a (patch)
tree25fd4f557434e81b329813f0942187163915697f /sysdeps/unix
parentd59f3e5e0fd518eeed1ec11886fd796d163cea5d (diff)
downloadglibc-3f7f1d180d6f1cef2c4ea83f5bda76516a75212a.tar
glibc-3f7f1d180d6f1cef2c4ea83f5bda76516a75212a.tar.gz
glibc-3f7f1d180d6f1cef2c4ea83f5bda76516a75212a.tar.bz2
glibc-3f7f1d180d6f1cef2c4ea83f5bda76516a75212a.zip
Fix MIPS n32 pr_sigpend, pr_sighold, pr_flag type (bug 23656).
As discussed at <https://sourceware.org/ml/libc-alpha/2018-09/msg00191.html> and followup discussions, the MIPS n32 definitions of pr_sigpend and pr_sighold in struct elf_prstatus, and pr_flag in struct elf_prpsinfo, are wrong to use unsigned long long int; actual n32 core dumps use a 32-bit type there, so userspace unsigned long int is correct for all MIPS ABIs. This patch removes the conditionals (also thereby aligning the structures with other architectures and so facilitating future unification of different versions of this header). Tested with build-many-glibcs.py for its MIPS configurations. [BZ #23656] * sysdeps/unix/sysv/linux/mips/sys/procfs.h (struct elf_prstatus): Remove [_MIPS_SIM = _ABIN32] conditional case. (struct elf_prpsinfo): Likewise.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/mips/sys/procfs.h9
1 files changed, 0 insertions, 9 deletions
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;