aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2022-08-22 14:16:57 +0000
committerJoseph Myers <joseph@codesourcery.com>2022-08-22 14:16:57 +0000
commita727220b37efc9d4d558a77c5fc57f3af99a4829 (patch)
tree5791f19f9f7910a8268480866d0a9a08c325e8ac /sysdeps/unix
parente7ad26ee3cb74e61d0637c888f24dd478d77af58 (diff)
downloadglibc-a727220b37efc9d4d558a77c5fc57f3af99a4829.zip
glibc-a727220b37efc9d4d558a77c5fc57f3af99a4829.tar.gz
glibc-a727220b37efc9d4d558a77c5fc57f3af99a4829.tar.bz2
Add AGROUP from Linux 5.19 to sys/acct.h, remove Alpha version (bug 29502)
Linux 5.19 adds a new accounting flag AGROUP; add it to the enumeration in sys/acct.h. This shows up that the Alpha-specific variant of this header has a different set of constants and struct acct, which appear to be the constants and structure layout from Linux 2.0. These were changed some time between Linux 2.0 and Linux 2.2; I see no evidence of an Alpha-specific layout or set of constants, but haven't checked the detailed Linux kernel history between those versions. Rather, it looks like tha Alpha-specific header was originally needed because of the use of types in the kernel structure (such as uid_t and gid_t) that had different sizes on Alpha, and when glibc was updated for changes to the structure and constants in the kernel 1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/sys/acct.h: Bring in sync with current linux 2.1 version. that simply omitted to do anything about the Alpha version. Thus, remove the Alpha version in order to get the updated definitions into use on Alpha, as I don't think the interfaces are actually different for Alpha with any kernel version supported by glibc. Tested for x86_64, and with build-many-glibcs.py for alpha-linux-gnu.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/acct.h63
-rw-r--r--sysdeps/unix/sysv/linux/sys/acct.h4
2 files changed, 3 insertions, 64 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/sys/acct.h b/sysdeps/unix/sysv/linux/alpha/sys/acct.h
deleted file mode 100644
index b2499a5..0000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/acct.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright (C) 1996-2022 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_ACCT_H
-
-#define _SYS_ACCT_H 1
-#include <features.h>
-
-#include <bits/types/time_t.h>
-
-__BEGIN_DECLS
-
-#define ACCT_COMM 16
-
-struct acct
- {
- char ac_comm[ACCT_COMM]; /* Accounting command name. */
- time_t ac_utime; /* Accounting user time. */
- time_t ac_stime; /* Accounting system time. */
- time_t ac_etime; /* Accounting elapsed time. */
- time_t ac_btime; /* Beginning time. */
- unsigned int ac_uid; /* Accounting user ID. */
- unsigned int ac_gid; /* Accounting group ID. */
- unsigned int ac_tty; /* Controlling tty. */
- /* Please note that the value of the `ac_tty' field, a device number,
- is encoded differently in the kernel and for the libc dev_t type. */
- char ac_flag; /* Accounting flag. */
- long int ac_minflt; /* Accounting minor pagefaults. */
- long int ac_majflt; /* Accounting major pagefaults. */
- long int ac_exitcode; /* Accounting process exitcode. */
- };
-
-enum
- {
- AFORK = 0001, /* Has executed fork, but no exec. */
- ASU = 0002, /* Used super-user privileges. */
- ACORE = 0004, /* Dumped core. */
- AXSIG = 0010 /* Killed by a signal. */
- };
-
-#define AHZ 100
-
-
-/* Switch process accounting on and off. */
-extern int acct (const char *__filename) __THROW;
-
-__END_DECLS
-
-#endif /* sys/acct.h */
diff --git a/sysdeps/unix/sysv/linux/sys/acct.h b/sysdeps/unix/sysv/linux/sys/acct.h
index 1573f6a..c8317e7 100644
--- a/sysdeps/unix/sysv/linux/sys/acct.h
+++ b/sysdeps/unix/sysv/linux/sys/acct.h
@@ -86,7 +86,9 @@ enum
AFORK = 0x01, /* Has executed fork, but no exec. */
ASU = 0x02, /* Used super-user privileges. */
ACORE = 0x08, /* Dumped core. */
- AXSIG = 0x10 /* Killed by a signal. */
+ AXSIG = 0x10, /* Killed by a signal. */
+ AGROUP = 0x20 /* Was the last task of the process
+ (task group). */
};
#if __BYTE_ORDER == __BIG_ENDIAN