diff options
author | Roland McGrath <roland@gnu.org> | 2004-11-04 23:37:44 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2004-11-04 23:37:44 +0000 |
commit | ad146de70ec85c70a680bb4817f1d9e9f3bc7fd6 (patch) | |
tree | 0db09f890793678db298012e476526fc6016b8da /sysdeps/unix | |
parent | 0090226a52e0b3263fad42e1569baa3204983bb5 (diff) | |
download | glibc-ad146de70ec85c70a680bb4817f1d9e9f3bc7fd6.tar.gz glibc-ad146de70ec85c70a680bb4817f1d9e9f3bc7fd6.tar.xz glibc-ad146de70ec85c70a680bb4817f1d9e9f3bc7fd6.zip |
* sysdeps/unix/sysv/linux/x86_64/sys/procfs.h [__WORDSIZE == 32]
(elf_fpxregset_t): New type. (struct elf_prpsinfo): If __WORDSIZE == 32, change pr_[ug]id type to unsigned short int. * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct user_fpregs_struct): Fix comment. * sysdeps/i386/fpu/bits/mathdef.h (float_t, double_t): If __FLOAT_EVAL_METHOD__ is defined and 0, typedef to float resp. double. * sysdeps/x86_64/fpu/bits/mathdef.h: Include bits/wordsize.h. (float_t, double_t): If -m32 and not -mfpmath=sse, typedef to long double. * sysdeps/x86_64/fpu/bits/fenv.h: Include bits/wordsize.h. (fenv_t): Remove __mxcsr field for -m32.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sys/procfs.h | 17 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sys/user.h | 4 |
2 files changed, 18 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h b/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h index d774c63706..853d7db49d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h +++ b/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -45,10 +45,20 @@ typedef unsigned long elf_greg_t; #define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t)) typedef elf_greg_t elf_gregset_t[ELF_NGREG]; +#if __WORDSIZE == 32 +/* Register set for the floating-point registers. */ +typedef struct user_fpregs_struct elf_fpregset_t; + +/* Register set for the extended floating-point registers. Includes + the Pentium III SSE registers in addition to the classic + floating-point stuff. */ +typedef struct user_fpxregs_struct elf_fpxregset_t; +#else /* Register set for the extended floating-point registers. Includes the Pentium III SSE registers in addition to the classic floating-point stuff. */ typedef struct user_fpregs_struct elf_fpregset_t; +#endif /* Signal info. */ struct elf_siginfo @@ -94,8 +104,13 @@ struct elf_prpsinfo char pr_zomb; /* Zombie. */ char pr_nice; /* Nice val. */ unsigned long int pr_flag; /* Flags. */ +#if __WORDSIZE == 32 + unsigned short int pr_uid; + unsigned short int pr_gid; +#else unsigned int pr_uid; unsigned int pr_gid; +#endif 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/x86_64/sys/user.h b/sysdeps/unix/sysv/linux/x86_64/sys/user.h index 0575fe51bf..ceadcf4788 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sys/user.h +++ b/sysdeps/unix/sysv/linux/x86_64/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2002 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -38,7 +38,7 @@ struct user_fpregs_struct __uint32_t mxcsr; __uint32_t mxcr_mask; __uint32_t st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ - __uint32_t xmm_space[64]; /* 16*16 bytes for each XMM-reg = 128 bytes */ + __uint32_t xmm_space[64]; /* 16*16 bytes for each XMM-reg = 256 bytes */ __uint32_t padding[24]; }; |