[PATCH 3/5] s390: Switch to common-code headers

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Wed Apr 15 19:30:02 GMT 2026



On 09/04/26 05:47, Stefan Liebler wrote:
> The removal of s390-32 allows us to switch to common-code headers
> instead of providing s390-64 specific headers:
> 
> from sysdeps/unix/sysv/linux/s390/bits/environments.h
> to bits/environments.h
> -> We now only have a 64bit environment.
> 
> from sysdeps/s390/s390-64/bits/wordsize.h
> to sysdeps/wordsize-64/bits/wordsize.h
> -> All macros are defined equal
> 
> from sysdeps/unix/sysv/linux/s390/bits/utmp.h
> to bits/utmp.h
> -> On s390-64, __WORDSIZE_TIME64_COMPAT32 is defined to	0, then	the
> 64bit part of both headers is identical
> 
> from sysdeps/unix/sysv/linux/s390/bits/utmpx.h
> to sysdeps/gnu/bits/utmpx.h
> -> On s390-64, __WORDSIZE_TIME64_COMPAT32 is defined to 0, then the
> 64bit part of both headers is identical
> 
> from sysdeps/unix/sysv/linux/s390/bits/timesize.h
> to bits/timesize.h
> -> __TIMESIZE is defined to 64 in both cases
> 
> from sysdeps/unix/sysv/linux/s390/bits/procfs-id.h
> to sysdeps/unix/sysv/linux/bits/procfs-id.h
> -> The typedefs for __pr_uid_t and __pr_gid_t on s390-64 are equal
> in both files. No need for an extra s390-specific header file anymore.
> 
> from sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h
> to sysdeps/unix/sysv/linux/bits/procfs-extra.h
> -> Get rid of the "32-bit variants so that BFD can read 32-bit core files."
> Furthermore it turned out that there is a hardcoded implementation
> independent of procfs-extra.h in <binutils>/bfd/elf32-s390.c:
> elf_s390_grok_prstatus(), elf_s390_grok_psinfo().
> ---

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

>  sysdeps/s390/s390-64/bits/wordsize.h          |   4 -
>  .../unix/sysv/linux/s390/bits/environments.h  |  96 -------------
>  .../unix/sysv/linux/s390/bits/procfs-extra.h  |  75 -----------
>  sysdeps/unix/sysv/linux/s390/bits/procfs-id.h |  30 -----
>  sysdeps/unix/sysv/linux/s390/bits/timesize.h  |  22 ---
>  sysdeps/unix/sysv/linux/s390/bits/utmp.h      | 127 ------------------
>  sysdeps/unix/sysv/linux/s390/bits/utmpx.h     | 106 ---------------
>  7 files changed, 460 deletions(-)
>  delete mode 100644 sysdeps/s390/s390-64/bits/wordsize.h
>  delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/environments.h
>  delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h
>  delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/procfs-id.h
>  delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/timesize.h
>  delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/utmp.h
>  delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/utmpx.h
> 
> diff --git a/sysdeps/s390/s390-64/bits/wordsize.h b/sysdeps/s390/s390-64/bits/wordsize.h
> deleted file mode 100644
> index b263c3141b..0000000000
> --- a/sysdeps/s390/s390-64/bits/wordsize.h
> +++ /dev/null
> @@ -1,4 +0,0 @@
> -/* Determine the wordsize from the preprocessor defines.  */
> -
> -#define __WORDSIZE			64
> -#define __WORDSIZE_TIME64_COMPAT32	0
> diff --git a/sysdeps/unix/sysv/linux/s390/bits/environments.h b/sysdeps/unix/sysv/linux/s390/bits/environments.h
> deleted file mode 100644
> index 083f86cdd8..0000000000
> --- a/sysdeps/unix/sysv/linux/s390/bits/environments.h
> +++ /dev/null
> @@ -1,96 +0,0 @@
> -/* Copyright (C) 1999-2026 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
> -   modify it under the terms of the GNU Lesser General Public
> -   License as published by the Free Software Foundation; either
> -   version 2.1 of the License, or (at your option) any later version.
> -
> -   The GNU C Library is distributed in the hope that it will be useful,
> -   but WITHOUT ANY WARRANTY; without even the implied warranty of
> -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -   Lesser General Public License for more details.
> -
> -   You should have received a copy of the GNU Lesser General Public
> -   License along with the GNU C Library; if not, see
> -   <https://www.gnu.org/licenses/>.  */
> -
> -#ifndef _UNISTD_H
> -# error "Never include this file directly.  Use <unistd.h> instead"
> -#endif
> -
> -#include <bits/wordsize.h>
> -
> -/* This header should define the following symbols under the described
> -   situations.  A value `1' means that the model is always supported,
> -   `-1' means it is never supported.  Undefined means it cannot be
> -   statically decided.
> -
> -   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
> -   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
> -
> -   _POSIX_V7_LP64_OFF32	   64bit long and pointers and 32bit off_t type
> -   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
> -
> -   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
> -   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
> -   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
> -   used in previous versions of the Unix standard and are available
> -   only for compatibility.
> -*/
> -
> -#if __WORDSIZE == 64
> -
> -/* Environments with 32-bit wide pointers are optionally provided.
> -   Therefore following macros aren't defined:
> -   # undef _POSIX_V7_ILP32_OFF32
> -   # undef _POSIX_V7_ILP32_OFFBIG
> -   # undef _POSIX_V6_ILP32_OFF32
> -   # undef _POSIX_V6_ILP32_OFFBIG
> -   # undef _XBS5_ILP32_OFF32
> -   # undef _XBS5_ILP32_OFFBIG
> -   and users need to check at runtime.  */
> -
> -/* We also have no use (for now) for an environment with bigger pointers
> -   and offsets.  */
> -# define _POSIX_V7_LPBIG_OFFBIG	-1
> -# define _POSIX_V6_LPBIG_OFFBIG	-1
> -# define _XBS5_LPBIG_OFFBIG	-1
> -
> -/* By default we have 64-bit wide `long int', pointers and `off_t'.  */
> -# define _POSIX_V7_LP64_OFF64	1
> -# define _POSIX_V6_LP64_OFF64	1
> -# define _XBS5_LP64_OFF64	1
> -
> -#else /* __WORDSIZE == 32 */
> -
> -/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
> -   and all platforms support LFS.  */
> -# define _POSIX_V7_ILP32_OFF32	1
> -# define _POSIX_V7_ILP32_OFFBIG	1
> -# define _POSIX_V6_ILP32_OFF32	1
> -# define _POSIX_V6_ILP32_OFFBIG	1
> -# define _XBS5_ILP32_OFF32	1
> -# define _XBS5_ILP32_OFFBIG	1
> -
> -/* We optionally provide an environment with the above size but an 64-bit
> -   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
> -
> -/* Environments with 64-bit wide pointers can be provided,
> -   so these macros aren't defined:
> -   # undef _POSIX_V7_LP64_OFF64
> -   # undef _POSIX_V7_LPBIG_OFFBIG
> -   # undef _POSIX_V6_LP64_OFF64
> -   # undef _POSIX_V6_LPBIG_OFFBIG
> -   # undef _XBS5_LP64_OFF64
> -   # undef _XBS5_LPBIG_OFFBIG
> -   and sysconf tests for it at runtime.  */
> -
> -#endif /* __WORDSIZE == 32 */
> -
> -#define __ILP32_OFF32_CFLAGS	"-m31"
> -#define __ILP32_OFFBIG_CFLAGS	"-m31 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
> -#define __ILP32_OFF32_LDFLAGS	"-m31"
> -#define __ILP32_OFFBIG_LDFLAGS	"-m31"
> -#define __LP64_OFF64_CFLAGS	"-m64"
> -#define __LP64_OFF64_LDFLAGS	"-m64"
> diff --git a/sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h b/sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h
> deleted file mode 100644
> index 338d3f2fda..0000000000
> --- a/sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h
> +++ /dev/null
> @@ -1,75 +0,0 @@
> -/* Extra sys/procfs.h definitions.  S/390 version.
> -   Copyright (C) 2000-2026 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
> -   modify it under the terms of the GNU Lesser General Public
> -   License as published by the Free Software Foundation; either
> -   version 2.1 of the License, or (at your option) any later version.
> -
> -   The GNU C Library is distributed in the hope that it will be useful,
> -   but WITHOUT ANY WARRANTY; without even the implied warranty of
> -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -   Lesser General Public License for more details.
> -
> -   You should have received a copy of the GNU Lesser General Public
> -   License along with the GNU C Library; if not, see
> -   <https://www.gnu.org/licenses/>.  */
> -
> -#ifndef _SYS_PROCFS_H
> -# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."
> -#endif
> -
> -#if __WORDSIZE == 64
> -
> -/* Provide 32-bit variants so that BFD can read 32-bit
> -   core files.  */
> -#define ELF_NGREG32	36
> -typedef unsigned int elf_greg_t32;
> -typedef elf_greg_t32
> -  elf_gregset_t32[ELF_NGREG32] __attribute__ ((__aligned__ (8)));
> -typedef elf_fpregset_t elf_fpregset_t32;
> -
> -struct elf_prstatus32
> -  {
> -    struct elf_siginfo pr_info;		/* Info associated with signal.  */
> -    short int pr_cursig;		/* Current signal.  */
> -    unsigned int pr_sigpend;	/* Set of pending signals.  */
> -    unsigned int pr_sighold;	/* Set of held signals.  */
> -    __pid_t pr_pid;
> -    __pid_t pr_ppid;
> -    __pid_t pr_pgrp;
> -    __pid_t pr_sid;
> -    struct
> -      {
> -	int tv_sec, tv_usec;
> -      } pr_utime,			/* User time.  */
> -        pr_stime,			/* System time.  */
> -        pr_cutime,			/* Cumulative user time.  */
> -        pr_cstime;			/* Cumulative system time.  */
> -    elf_gregset_t32 pr_reg;		/* GP registers.  */
> -    int pr_fpvalid;			/* True if math copro being used.  */
> -  };
> -
> -struct elf_prpsinfo32
> -  {
> -    char pr_state;			/* Numeric process state.  */
> -    char pr_sname;			/* Char for pr_state.  */
> -    char pr_zomb;			/* Zombie.  */
> -    char pr_nice;			/* Nice val.  */
> -    unsigned int pr_flag;		/* Flags.  */
> -    unsigned short int pr_uid;
> -    unsigned short int pr_gid;
> -    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
> -    /* Lots missing */
> -    char pr_fname[16];			/* Filename of executable.  */
> -    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
> -  };
> -
> -typedef elf_gregset_t32 prgregset32_t;
> -typedef elf_fpregset_t32 prfpregset32_t;
> -
> -typedef struct elf_prstatus32 prstatus32_t;
> -typedef struct elf_prpsinfo32 prpsinfo32_t;
> -
> -#endif
> diff --git a/sysdeps/unix/sysv/linux/s390/bits/procfs-id.h b/sysdeps/unix/sysv/linux/s390/bits/procfs-id.h
> deleted file mode 100644
> index 247edf0b89..0000000000
> --- a/sysdeps/unix/sysv/linux/s390/bits/procfs-id.h
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -/* Types of pr_uid and pr_gid in struct elf_prpsinfo.  S/390 version.
> -   Copyright (C) 2018-2026 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
> -   modify it under the terms of the GNU Lesser General Public
> -   License as published by the Free Software Foundation; either
> -   version 2.1 of the License, or (at your option) any later version.
> -
> -   The GNU C Library is distributed in the hope that it will be useful,
> -   but WITHOUT ANY WARRANTY; without even the implied warranty of
> -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -   Lesser General Public License for more details.
> -
> -   You should have received a copy of the GNU Lesser General Public
> -   License along with the GNU C Library; if not, see
> -   <https://www.gnu.org/licenses/>.  */
> -
> -#ifndef _SYS_PROCFS_H
> -# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
> -#endif
> -
> -#if __WORDSIZE == 64
> -typedef unsigned int __pr_uid_t;
> -typedef unsigned int __pr_gid_t;
> -#else
> -typedef unsigned short int __pr_uid_t;
> -typedef unsigned short int __pr_gid_t;
> -#endif
> diff --git a/sysdeps/unix/sysv/linux/s390/bits/timesize.h b/sysdeps/unix/sysv/linux/s390/bits/timesize.h
> deleted file mode 100644
> index 363b4d7904..0000000000
> --- a/sysdeps/unix/sysv/linux/s390/bits/timesize.h
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -/* Bit size of the time_t type at glibc build time, Linux/s390.
> -   Copyright (C) 2021-2026 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
> -   modify it under the terms of the GNU Lesser General Public
> -   License as published by the Free Software Foundation; either
> -   version 2.1 of the License, or (at your option) any later version.
> -
> -   The GNU C Library is distributed in the hope that it will be useful,
> -   but WITHOUT ANY WARRANTY; without even the implied warranty of
> -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -   Lesser General Public License for more details.
> -
> -   You should have received a copy of the GNU Lesser General Public
> -   License along with the GNU C Library; if not, see
> -   <https://www.gnu.org/licenses/>.  */
> -
> -#include <bits/wordsize.h>
> -
> -/* Size in bits of the 'time_t' type of the default ABI.  */
> -#define __TIMESIZE	__WORDSIZE
> diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmp.h b/sysdeps/unix/sysv/linux/s390/bits/utmp.h
> deleted file mode 100644
> index abe3a06fd7..0000000000
> --- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h
> +++ /dev/null
> @@ -1,127 +0,0 @@
> -/* The `struct utmp' type, describing entries in the utmp file.  GNU version.
> -   Copyright (C) 1993-2026 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
> -   modify it under the terms of the GNU Lesser General Public
> -   License as published by the Free Software Foundation; either
> -   version 2.1 of the License, or (at your option) any later version.
> -
> -   The GNU C Library is distributed in the hope that it will be useful,
> -   but WITHOUT ANY WARRANTY; without even the implied warranty of
> -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -   Lesser General Public License for more details.
> -
> -   You should have received a copy of the GNU Lesser General Public
> -   License along with the GNU C Library; if not, see
> -   <https://www.gnu.org/licenses/>.  */
> -
> -#ifndef _UTMP_H
> -# error "Never include <bits/utmp.h> directly; use <utmp.h> instead."
> -#endif
> -
> -#include <paths.h>
> -#include <sys/time.h>
> -#include <sys/types.h>
> -#include <bits/wordsize.h>
> -
> -
> -#define UT_LINESIZE	32
> -#define UT_NAMESIZE	32
> -#define UT_HOSTSIZE	256
> -
> -
> -/* The structure describing an entry in the database of
> -   previous logins.  */
> -struct lastlog
> -  {
> -#if __WORDSIZE == 32
> -    int64_t ll_time;
> -#else
> -    __time_t ll_time;
> -#endif
> -    char ll_line[UT_LINESIZE];
> -    char ll_host[UT_HOSTSIZE];
> -  };
> -
> -
> -/* The structure describing the status of a terminated process.  This
> -   type is used in `struct utmp' below.  */
> -struct exit_status
> -  {
> -    short int e_termination;	/* Process termination status.  */
> -    short int e_exit;		/* Process exit status.  */
> -  };
> -
> -
> -/* The structure describing an entry in the user accounting database.  */
> -struct utmp
> -{
> -  short int ut_type;		/* Type of login.  */
> -  pid_t ut_pid;			/* Process ID of login process.  */
> -  char ut_line[UT_LINESIZE]
> -     __attribute_nonstring__;	/* Devicename.  */
> -  char ut_id[4]
> -    __attribute_nonstring__;	/* Inittab ID.  */
> -  char ut_user[UT_NAMESIZE]
> -     __attribute_nonstring__;	/* Username.  */
> -  char ut_host[UT_HOSTSIZE]
> -     __attribute_nonstring__;	/* Hostname for remote login.  */
> -  struct exit_status ut_exit;	/* Exit status of a process marked
> -				   as DEAD_PROCESS.  */
> -/* The ut_session and ut_tv fields must be the same size when compiled
> -   32- and 64-bit.  This allows data files and shared memory to be
> -   shared between 32- and 64-bit applications.  */
> -#if __WORDSIZE == 32
> -  int64_t ut_session;		/* Session ID, used for windowing.  */
> -  struct
> -  {
> -    int64_t tv_sec;		/* Seconds.  */
> -    int64_t tv_usec;		/* Microseconds.  */
> -  } ut_tv;			/* Time entry was made.  */
> -#else
> -  long int ut_session;		/* Session ID, used for windowing.  */
> -  struct timeval ut_tv;		/* Time entry was made.  */
> -#endif
> -
> -  int32_t ut_addr_v6[4];	/* Internet address of remote host.  */
> -  char __glibc_reserved[20];		/* Reserved for future use.  */
> -};
> -
> -/* Backwards compatibility hacks.  */
> -#define ut_name		ut_user
> -#ifndef _NO_UT_TIME
> -/* We have a problem here: `ut_time' is also used otherwise.  Define
> -   _NO_UT_TIME if the compiler complains.  */
> -# define ut_time	ut_tv.tv_sec
> -#endif
> -#define ut_xtime	ut_tv.tv_sec
> -#define ut_addr		ut_addr_v6[0]
> -
> -
> -/* Values for the `ut_type' field of a `struct utmp'.  */
> -#define EMPTY		0	/* No valid user accounting information.  */
> -
> -#define RUN_LVL		1	/* The system's runlevel.  */
> -#define BOOT_TIME	2	/* Time of system boot.  */
> -#define NEW_TIME	3	/* Time after system clock changed.  */
> -#define OLD_TIME	4	/* Time when system clock changed.  */
> -
> -#define INIT_PROCESS	5	/* Process spawned by the init process.  */
> -#define LOGIN_PROCESS	6	/* Session leader of a logged in user.  */
> -#define USER_PROCESS	7	/* Normal process.  */
> -#define DEAD_PROCESS	8	/* Terminated process.  */
> -
> -#define ACCOUNTING	9
> -
> -/* Old Linux name for the EMPTY type.  */
> -#define UT_UNKNOWN	EMPTY
> -
> -
> -/* Tell the user that we have a modern system with UT_HOST, UT_PID,
> -   UT_TYPE, UT_ID and UT_TV fields.  */
> -#define _HAVE_UT_TYPE	1
> -#define _HAVE_UT_PID	1
> -#define _HAVE_UT_ID	1
> -#define _HAVE_UT_TV	1
> -#define _HAVE_UT_HOST	1
> diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h b/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
> deleted file mode 100644
> index f96542a09d..0000000000
> --- a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
> +++ /dev/null
> @@ -1,106 +0,0 @@
> -/* Structures and definitions for the user accounting database.  GNU version.
> -   Copyright (C) 1997-2026 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
> -   modify it under the terms of the GNU Lesser General Public
> -   License as published by the Free Software Foundation; either
> -   version 2.1 of the License, or (at your option) any later version.
> -
> -   The GNU C Library is distributed in the hope that it will be useful,
> -   but WITHOUT ANY WARRANTY; without even the implied warranty of
> -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -   Lesser General Public License for more details.
> -
> -   You should have received a copy of the GNU Lesser General Public
> -   License along with the GNU C Library; if not, see
> -   <https://www.gnu.org/licenses/>.  */
> -
> -#ifndef _UTMPX_H
> -# error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead."
> -#endif
> -
> -#include <bits/types.h>
> -#include <sys/time.h>
> -#include <bits/wordsize.h>
> -
> -
> -#ifdef __USE_GNU
> -# include <paths.h>
> -# define _PATH_UTMPX	_PATH_UTMP
> -# define _PATH_WTMPX	_PATH_WTMP
> -#endif
> -
> -
> -#define __UT_LINESIZE	32
> -#define __UT_NAMESIZE	32
> -#define __UT_HOSTSIZE	256
> -
> -
> -/* The structure describing the status of a terminated process.  This
> -   type is used in `struct utmpx' below.  */
> -struct __exit_status
> -  {
> -#ifdef __USE_GNU
> -    short int e_termination;	/* Process termination status.  */
> -    short int e_exit;		/* Process exit status.  */
> -#else
> -    short int __e_termination;	/* Process termination status.  */
> -    short int __e_exit;		/* Process exit status.  */
> -#endif
> -  };
> -
> -
> -/* The structure describing an entry in the user accounting database.  */
> -struct utmpx
> -{
> -  short int ut_type;		/* Type of login.  */
> -  __pid_t ut_pid;		/* Process ID of login process.  */
> -  char ut_line[__UT_LINESIZE]
> -    __attribute_nonstring__;	/* Devicename.  */
> -  char ut_id[4]
> -    __attribute_nonstring__;	/* Inittab ID.  */
> -  char ut_user[__UT_NAMESIZE]
> -    __attribute_nonstring__;	/* Username.  */
> -  char ut_host[__UT_HOSTSIZE]
> -    __attribute_nonstring__;	/* Hostname for remote login.  */
> -  struct __exit_status ut_exit;	/* Exit status of a process marked
> -				   as DEAD_PROCESS.  */
> -
> -/* The fields ut_session and ut_tv must be the same size when compiled
> -   32- and 64-bit.  This allows files and shared memory to be shared
> -   between 32- and 64-bit applications.  */
> -#if __WORDSIZE == 32
> -  __int64_t ut_session;		/* Session ID, used for windowing.  */
> -  struct
> -  {
> -    __int64_t tv_sec;		/* Seconds.  */
> -    __int64_t tv_usec;		/* Microseconds.  */
> -  } ut_tv;			/* Time entry was made.  */
> -#else
> -  long int ut_session;		/* Session ID, used for windowing.  */
> -  struct timeval ut_tv;		/* Time entry was made.  */
> -#endif
> -  __int32_t ut_addr_v6[4];	/* Internet address of remote host.  */
> -  char __glibc_reserved[20];		/* Reserved for future use.  */
> -};
> -
> -
> -/* Values for the `ut_type' field of a `struct utmpx'.  */
> -#define EMPTY		0	/* No valid user accounting information.  */
> -
> -#ifdef __USE_GNU
> -# define RUN_LVL	1	/* The system's runlevel.  */
> -#endif
> -#define BOOT_TIME	2	/* Time of system boot.  */
> -#define NEW_TIME	3	/* Time after system clock changed.  */
> -#define OLD_TIME	4	/* Time when system clock changed.  */
> -
> -#define INIT_PROCESS	5	/* Process spawned by the init process.  */
> -#define LOGIN_PROCESS	6	/* Session leader of a logged in user.  */
> -#define USER_PROCESS	7	/* Normal process.  */
> -#define DEAD_PROCESS	8	/* Terminated process.  */
> -
> -#ifdef __USE_GNU
> -# define ACCOUNTING	9	/* System accounting.  */
> -#endif



More information about the Libc-alpha mailing list