From patchwork Wed Aug 17 18:27:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 56822 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0BC15385829F for ; Wed, 17 Aug 2022 18:28:01 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 7307D3858C83 for ; Wed, 17 Aug 2022 18:27:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7307D3858C83 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.93,244,1654588800"; d="scan'208";a="81468436" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 17 Aug 2022 10:27:41 -0800 IronPort-SDR: q0yVPcRctPQuPtHTFwOiug6+DaJaoNBkdtmsvY/avPth2a2wB7MgA964x1lyxAqpcJKWSMOplE 4pahRhgsGo9B7dEx8heHPVp0CKyZBrNHkqirbZx773Y7CDvFeXlTTpMHmcsyoe/PfnnI2NE5Ya CTfuDr1GumoM5z4Dumjyy8AyiD3o/BGh2heisQf6UCKJ6cQnHF3HHxUfLFtMqMuqUkilYjOMLS G4+lVNR5BIOxFKNCIWbiH+63YSz7Gteto43/re4VUB2pQnWo3B/sxuU+OjTplW9ENDRUpOLuR+ u9w= Date: Wed, 17 Aug 2022 18:27:35 +0000 From: Joseph Myers X-X-Sender: jsm28@digraph.polyomino.org.uk To: Subject: Add AGROUP from Linux 5.19 to sys/acct.h, remove Alpha version (bug 29502) Message-ID: User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-08.mgc.mentorg.com (139.181.222.8) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-3117.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" 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 * 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. Reviewed-by: Florian Weimer 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 b2499a5017..0000000000 --- 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 - . */ - -#ifndef _SYS_ACCT_H - -#define _SYS_ACCT_H 1 -#include - -#include - -__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 1573f6a254..c8317e7ced 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