{"id":2221357,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2221357/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/patch/20260409085102.3475867-4-stli@linux.ibm.com/","project":{"id":41,"url":"http://patchwork.ozlabs.org/api/1.2/projects/41/?format=json","name":"GNU C Library","link_name":"glibc","list_id":"libc-alpha.sourceware.org","list_email":"libc-alpha@sourceware.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260409085102.3475867-4-stli@linux.ibm.com>","list_archive_url":null,"date":"2026-04-09T08:47:08","name":"[3/5] s390: Switch to common-code headers","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"753ea8d0bfd7bc047e1eac572abb5ebad6ef4d1b","submitter":{"id":74280,"url":"http://patchwork.ozlabs.org/api/1.2/people/74280/?format=json","name":"Stefan Liebler","email":"stli@linux.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/glibc/patch/20260409085102.3475867-4-stli@linux.ibm.com/mbox/","series":[{"id":499262,"url":"http://patchwork.ozlabs.org/api/1.2/series/499262/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/list/?series=499262","date":"2026-04-09T08:47:10","name":"Remove s390-linux-gnu (31bit)","version":1,"mbox":"http://patchwork.ozlabs.org/series/499262/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2221357/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2221357/checks/","tags":{},"related":[],"headers":{"Return-Path":"<libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":["incoming@patchwork.ozlabs.org","libc-alpha@sourceware.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","libc-alpha@sourceware.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=P7GUe1n6;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=P7GUe1n6","sourceware.org;\n dmarc=none (p=none dis=none) header.from=linux.ibm.com","sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com","server2.sourceware.org;\n arc=none smtp.remote-ip=148.163.158.5"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4frtxj0Yylz1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 18:53:13 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id DA6244BA2E08\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  9 Apr 2026 08:53:10 +0000 (GMT)","from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n [148.163.158.5])\n by sourceware.org (Postfix) with ESMTPS id B47D44BA2E08\n for <libc-alpha@sourceware.org>; Thu,  9 Apr 2026 08:51:17 +0000 (GMT)","from pps.filterd (m0356516.ppops.net [127.0.0.1])\n by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 638JZWUM2326538\n for <libc-alpha@sourceware.org>; Thu, 9 Apr 2026 08:51:17 GMT","from ppma23.wdc07v.mail.ibm.com\n (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93])\n by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dcn2kk8gg-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)\n for <libc-alpha@sourceware.org>; Thu, 09 Apr 2026 08:51:16 +0000 (GMT)","from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1])\n by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 6397rg5C013902\n for <libc-alpha@sourceware.org>; Thu, 9 Apr 2026 08:51:16 GMT","from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229])\n by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4dcmf4avh2-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)\n for <libc-alpha@sourceware.org>; Thu, 09 Apr 2026 08:51:16 +0000","from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com\n [10.20.54.102])\n by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 6398pCo235717466\n (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Thu, 9 Apr 2026 08:51:12 GMT","from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 02BED20043;\n Thu,  9 Apr 2026 08:51:12 +0000 (GMT)","from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id D15332004D;\n Thu,  9 Apr 2026 08:51:11 +0000 (GMT)","from a35lp68.lnxne.boe (unknown [9.87.84.240])\n by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP;\n Thu,  9 Apr 2026 08:51:11 +0000 (GMT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org DA6244BA2E08","OpenDKIM Filter v2.11.0 sourceware.org B47D44BA2E08"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org B47D44BA2E08","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org B47D44BA2E08","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775724677; cv=none;\n b=q/tMhksw7gIPei+7aQQkDSvNOYwYnVVWybzngfq9lBOqPyC1lNZmBvIAbNALPiUyndGcUdh9w2aoBEZa5llKYQfzL7Kxd4MOqDykvx1PGIlEKdAT09XGEO3i4x74/hOzQCjFBed2+8Vjqt4x6lAUT70kTnjoK8h4C4qraDLRE0c=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775724677; c=relaxed/simple;\n bh=KOIOeasrC2C2tfjQBDaRcxm4u4UYorQ0Cs9zeRE/l08=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=eWm6rvQ7ETuFw5kqTuZ7aBWwRUd38RASny6mrposreh7CYApvcpXJU6niUlUFzrp1Tk/BhT3r28KhC8qQVE3VAtmHeoUjyL8YvnQoi/qS3ga4oakh1lxJnQxL468wyERaUKi/8dL2vnlYXmg24B9JsyZwfuFewJ+IvB3eC8ZBUg=","ARC-Authentication-Results":"i=1; server2.sourceware.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n :content-transfer-encoding:date:from:in-reply-to:message-id\n :mime-version:references:subject:to; s=pp1; bh=lUvgAjiau+PxOCOYw\n pS4dGpNByeWwN8kHWtMoGBeD5o=; b=P7GUe1n63jceZwEuYQwBIjAtE0Di5cyMi\n tR7Ny+lV0IHs7V/bf/UBuD0FLyKvHheSx5qteGHKlfBbd+HwRS7YAXW76z3HDAPy\n BsnmHro7jNU75QHQnPofdfTTlhIFHkYoAYDzdQCmXAqNfyKYANbFwvuf6xf4t8MA\n wMYX3OOp1o1EMUC8YqSPw4VxHIC+DU+63aym+JTIE5l8Yd4raL3ObVU5OXV9MJT8\n 2dbHbTUWcZcP6Rx8fOoLvJ64YlDbw2pK2pQHwo15p4yek/ylmm5jEUBqC1gZ9VZi\n xoGRrt457N5SzXqPAzRHjffIxfME/9ykj12D34K6QvFnxr8WDBfbg==","From":"Stefan Liebler <stli@linux.ibm.com>","To":"libc-alpha@sourceware.org","Cc":"Stefan Liebler <stli@linux.ibm.com>","Subject":"[PATCH 3/5] s390: Switch to common-code headers","Date":"Thu,  9 Apr 2026 10:47:08 +0200","Message-ID":"<20260409085102.3475867-4-stli@linux.ibm.com>","X-Mailer":"git-send-email 2.52.0","In-Reply-To":"<20260409085102.3475867-1-stli@linux.ibm.com>","References":"<20260409085102.3475867-1-stli@linux.ibm.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-TM-AS-GCONF":"00","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDA5MDA3NyBTYWx0ZWRfX0kz3a3MpR+rU\n h+BIWvgFiPUdthaxIbAn9yQOSKqgmaBt0MtIaxXzq4gv6UYf09I24KhDC3RoKVoJghgKNdbYVBx\n aZyU5JXM3uMvr92DrykAgQzGUcwM5z0EG3exspn8Jr7uMDRzHtP3AX9mLE0u6DLzNvrJ0CrlF7d\n Gi1LYj+RevnL258IsBAVKS375MciPt+kechCtK8KHzVCBexkJFyoQPjphs5VPE6Kny7BWmiicb1\n Nc35wIkuyA25gHhNwuAYUwbJg+B5wGSQSY92JJW5iHyiVOGX7OhMwUMRfL8ktXkhykxcM3xlnXI\n bqwF5mw2QGxhNT2i+OUj0NS2Tbiy6reHVFBbjaCmt0OOTjt0abCMVG9UJb/oRIhrQJEv7PepkK0\n KKclhkoVB03IBIltETIdSwkvCGJWY7PN+iQQR+gXXAxHvXiJ9rNr27pUt5ItrG4alVMb5MN2PBV\n PxC0d5UpasP1mJytaHQ==","X-Proofpoint-ORIG-GUID":"Aew5TAg84xUT4AFeL3JexUEW3ufYayyX","X-Authority-Analysis":"v=2.4 cv=e9k2j6p/ c=1 sm=1 tr=0 ts=69d76884 cx=c_pps\n a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=Y2IxJ9c9Rs8Kov3niI8_:22 a=mDV3o1hIAAAA:8 a=WK8v31sS_Lc71AaTvwUA:9","X-Proofpoint-GUID":"Aew5TAg84xUT4AFeL3JexUEW3ufYayyX","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-09_02,2026-04-08_01,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n clxscore=1015 impostorscore=0 malwarescore=0 suspectscore=0 spamscore=0\n bulkscore=0 adultscore=0 priorityscore=1501 phishscore=0 lowpriorityscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604090077","X-BeenThere":"libc-alpha@sourceware.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Libc-alpha mailing list <libc-alpha.sourceware.org>","List-Unsubscribe":"<https://sourceware.org/mailman/options/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe>","List-Archive":"<https://sourceware.org/pipermail/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-request@sourceware.org?subject=help>","List-Subscribe":"<https://sourceware.org/mailman/listinfo/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=subscribe>","Errors-To":"libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org"},"content":"The removal of s390-32 allows us to switch to common-code headers\ninstead of providing s390-64 specific headers:\n\nfrom sysdeps/unix/sysv/linux/s390/bits/environments.h\nto bits/environments.h\n-> We now only have a 64bit environment.\n\nfrom sysdeps/s390/s390-64/bits/wordsize.h\nto sysdeps/wordsize-64/bits/wordsize.h\n-> All macros are defined equal\n\nfrom sysdeps/unix/sysv/linux/s390/bits/utmp.h\nto bits/utmp.h\n-> On s390-64, __WORDSIZE_TIME64_COMPAT32 is defined to\t0, then\tthe\n64bit part of both headers is identical\n\nfrom sysdeps/unix/sysv/linux/s390/bits/utmpx.h\nto sysdeps/gnu/bits/utmpx.h\n-> On s390-64, __WORDSIZE_TIME64_COMPAT32 is defined to 0, then the\n64bit part of both headers is identical\n\nfrom sysdeps/unix/sysv/linux/s390/bits/timesize.h\nto bits/timesize.h\n-> __TIMESIZE is defined to 64 in both cases\n\nfrom sysdeps/unix/sysv/linux/s390/bits/procfs-id.h\nto sysdeps/unix/sysv/linux/bits/procfs-id.h\n-> The typedefs for __pr_uid_t and __pr_gid_t on s390-64 are equal\nin both files. No need for an extra s390-specific header file anymore.\n\nfrom sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h\nto sysdeps/unix/sysv/linux/bits/procfs-extra.h\n-> Get rid of the \"32-bit variants so that BFD can read 32-bit core files.\"\nFurthermore it turned out that there is a hardcoded implementation\nindependent of procfs-extra.h in <binutils>/bfd/elf32-s390.c:\nelf_s390_grok_prstatus(), elf_s390_grok_psinfo().\n---\n sysdeps/s390/s390-64/bits/wordsize.h          |   4 -\n .../unix/sysv/linux/s390/bits/environments.h  |  96 -------------\n .../unix/sysv/linux/s390/bits/procfs-extra.h  |  75 -----------\n sysdeps/unix/sysv/linux/s390/bits/procfs-id.h |  30 -----\n sysdeps/unix/sysv/linux/s390/bits/timesize.h  |  22 ---\n sysdeps/unix/sysv/linux/s390/bits/utmp.h      | 127 ------------------\n sysdeps/unix/sysv/linux/s390/bits/utmpx.h     | 106 ---------------\n 7 files changed, 460 deletions(-)\n delete mode 100644 sysdeps/s390/s390-64/bits/wordsize.h\n delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/environments.h\n delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h\n delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/procfs-id.h\n delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/timesize.h\n delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/utmp.h\n delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/utmpx.h","diff":"diff --git a/sysdeps/s390/s390-64/bits/wordsize.h b/sysdeps/s390/s390-64/bits/wordsize.h\ndeleted file mode 100644\nindex b263c3141b..0000000000\n--- a/sysdeps/s390/s390-64/bits/wordsize.h\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-/* Determine the wordsize from the preprocessor defines.  */\n-\n-#define __WORDSIZE\t\t\t64\n-#define __WORDSIZE_TIME64_COMPAT32\t0\ndiff --git a/sysdeps/unix/sysv/linux/s390/bits/environments.h b/sysdeps/unix/sysv/linux/s390/bits/environments.h\ndeleted file mode 100644\nindex 083f86cdd8..0000000000\n--- a/sysdeps/unix/sysv/linux/s390/bits/environments.h\n+++ /dev/null\n@@ -1,96 +0,0 @@\n-/* Copyright (C) 1999-2026 Free Software Foundation, Inc.\n-   This file is part of the GNU C Library.\n-\n-   The GNU C Library is free software; you can redistribute it and/or\n-   modify it under the terms of the GNU Lesser General Public\n-   License as published by the Free Software Foundation; either\n-   version 2.1 of the License, or (at your option) any later version.\n-\n-   The GNU C Library is distributed in the hope that it will be useful,\n-   but WITHOUT ANY WARRANTY; without even the implied warranty of\n-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n-   Lesser General Public License for more details.\n-\n-   You should have received a copy of the GNU Lesser General Public\n-   License along with the GNU C Library; if not, see\n-   <https://www.gnu.org/licenses/>.  */\n-\n-#ifndef _UNISTD_H\n-# error \"Never include this file directly.  Use <unistd.h> instead\"\n-#endif\n-\n-#include <bits/wordsize.h>\n-\n-/* This header should define the following symbols under the described\n-   situations.  A value `1' means that the model is always supported,\n-   `-1' means it is never supported.  Undefined means it cannot be\n-   statically decided.\n-\n-   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type\n-   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type\n-\n-   _POSIX_V7_LP64_OFF32\t   64bit long and pointers and 32bit off_t type\n-   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type\n-\n-   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,\n-   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,\n-   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were\n-   used in previous versions of the Unix standard and are available\n-   only for compatibility.\n-*/\n-\n-#if __WORDSIZE == 64\n-\n-/* Environments with 32-bit wide pointers are optionally provided.\n-   Therefore following macros aren't defined:\n-   # undef _POSIX_V7_ILP32_OFF32\n-   # undef _POSIX_V7_ILP32_OFFBIG\n-   # undef _POSIX_V6_ILP32_OFF32\n-   # undef _POSIX_V6_ILP32_OFFBIG\n-   # undef _XBS5_ILP32_OFF32\n-   # undef _XBS5_ILP32_OFFBIG\n-   and users need to check at runtime.  */\n-\n-/* We also have no use (for now) for an environment with bigger pointers\n-   and offsets.  */\n-# define _POSIX_V7_LPBIG_OFFBIG\t-1\n-# define _POSIX_V6_LPBIG_OFFBIG\t-1\n-# define _XBS5_LPBIG_OFFBIG\t-1\n-\n-/* By default we have 64-bit wide `long int', pointers and `off_t'.  */\n-# define _POSIX_V7_LP64_OFF64\t1\n-# define _POSIX_V6_LP64_OFF64\t1\n-# define _XBS5_LP64_OFF64\t1\n-\n-#else /* __WORDSIZE == 32 */\n-\n-/* By default we have 32-bit wide `int', `long int', pointers and `off_t'\n-   and all platforms support LFS.  */\n-# define _POSIX_V7_ILP32_OFF32\t1\n-# define _POSIX_V7_ILP32_OFFBIG\t1\n-# define _POSIX_V6_ILP32_OFF32\t1\n-# define _POSIX_V6_ILP32_OFFBIG\t1\n-# define _XBS5_ILP32_OFF32\t1\n-# define _XBS5_ILP32_OFFBIG\t1\n-\n-/* We optionally provide an environment with the above size but an 64-bit\n-   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */\n-\n-/* Environments with 64-bit wide pointers can be provided,\n-   so these macros aren't defined:\n-   # undef _POSIX_V7_LP64_OFF64\n-   # undef _POSIX_V7_LPBIG_OFFBIG\n-   # undef _POSIX_V6_LP64_OFF64\n-   # undef _POSIX_V6_LPBIG_OFFBIG\n-   # undef _XBS5_LP64_OFF64\n-   # undef _XBS5_LPBIG_OFFBIG\n-   and sysconf tests for it at runtime.  */\n-\n-#endif /* __WORDSIZE == 32 */\n-\n-#define __ILP32_OFF32_CFLAGS\t\"-m31\"\n-#define __ILP32_OFFBIG_CFLAGS\t\"-m31 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64\"\n-#define __ILP32_OFF32_LDFLAGS\t\"-m31\"\n-#define __ILP32_OFFBIG_LDFLAGS\t\"-m31\"\n-#define __LP64_OFF64_CFLAGS\t\"-m64\"\n-#define __LP64_OFF64_LDFLAGS\t\"-m64\"\ndiff --git a/sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h b/sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h\ndeleted file mode 100644\nindex 338d3f2fda..0000000000\n--- a/sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h\n+++ /dev/null\n@@ -1,75 +0,0 @@\n-/* Extra sys/procfs.h definitions.  S/390 version.\n-   Copyright (C) 2000-2026 Free Software Foundation, Inc.\n-   This file is part of the GNU C Library.\n-\n-   The GNU C Library is free software; you can redistribute it and/or\n-   modify it under the terms of the GNU Lesser General Public\n-   License as published by the Free Software Foundation; either\n-   version 2.1 of the License, or (at your option) any later version.\n-\n-   The GNU C Library is distributed in the hope that it will be useful,\n-   but WITHOUT ANY WARRANTY; without even the implied warranty of\n-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n-   Lesser General Public License for more details.\n-\n-   You should have received a copy of the GNU Lesser General Public\n-   License along with the GNU C Library; if not, see\n-   <https://www.gnu.org/licenses/>.  */\n-\n-#ifndef _SYS_PROCFS_H\n-# error \"Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead.\"\n-#endif\n-\n-#if __WORDSIZE == 64\n-\n-/* Provide 32-bit variants so that BFD can read 32-bit\n-   core files.  */\n-#define ELF_NGREG32\t36\n-typedef unsigned int elf_greg_t32;\n-typedef elf_greg_t32\n-  elf_gregset_t32[ELF_NGREG32] __attribute__ ((__aligned__ (8)));\n-typedef elf_fpregset_t elf_fpregset_t32;\n-\n-struct elf_prstatus32\n-  {\n-    struct elf_siginfo pr_info;\t\t/* Info associated with signal.  */\n-    short int pr_cursig;\t\t/* Current signal.  */\n-    unsigned int pr_sigpend;\t/* Set of pending signals.  */\n-    unsigned int pr_sighold;\t/* Set of held signals.  */\n-    __pid_t pr_pid;\n-    __pid_t pr_ppid;\n-    __pid_t pr_pgrp;\n-    __pid_t pr_sid;\n-    struct\n-      {\n-\tint tv_sec, tv_usec;\n-      } pr_utime,\t\t\t/* User time.  */\n-        pr_stime,\t\t\t/* System time.  */\n-        pr_cutime,\t\t\t/* Cumulative user time.  */\n-        pr_cstime;\t\t\t/* Cumulative system time.  */\n-    elf_gregset_t32 pr_reg;\t\t/* GP registers.  */\n-    int pr_fpvalid;\t\t\t/* True if math copro being used.  */\n-  };\n-\n-struct elf_prpsinfo32\n-  {\n-    char pr_state;\t\t\t/* Numeric process state.  */\n-    char pr_sname;\t\t\t/* Char for pr_state.  */\n-    char pr_zomb;\t\t\t/* Zombie.  */\n-    char pr_nice;\t\t\t/* Nice val.  */\n-    unsigned int pr_flag;\t\t/* Flags.  */\n-    unsigned short int pr_uid;\n-    unsigned short int pr_gid;\n-    int pr_pid, pr_ppid, pr_pgrp, pr_sid;\n-    /* Lots missing */\n-    char pr_fname[16];\t\t\t/* Filename of executable.  */\n-    char pr_psargs[ELF_PRARGSZ];\t/* Initial part of arg list.  */\n-  };\n-\n-typedef elf_gregset_t32 prgregset32_t;\n-typedef elf_fpregset_t32 prfpregset32_t;\n-\n-typedef struct elf_prstatus32 prstatus32_t;\n-typedef struct elf_prpsinfo32 prpsinfo32_t;\n-\n-#endif\ndiff --git a/sysdeps/unix/sysv/linux/s390/bits/procfs-id.h b/sysdeps/unix/sysv/linux/s390/bits/procfs-id.h\ndeleted file mode 100644\nindex 247edf0b89..0000000000\n--- a/sysdeps/unix/sysv/linux/s390/bits/procfs-id.h\n+++ /dev/null\n@@ -1,30 +0,0 @@\n-/* Types of pr_uid and pr_gid in struct elf_prpsinfo.  S/390 version.\n-   Copyright (C) 2018-2026 Free Software Foundation, Inc.\n-\n-   This file is part of the GNU C Library.\n-\n-   The GNU C Library is free software; you can redistribute it and/or\n-   modify it under the terms of the GNU Lesser General Public\n-   License as published by the Free Software Foundation; either\n-   version 2.1 of the License, or (at your option) any later version.\n-\n-   The GNU C Library is distributed in the hope that it will be useful,\n-   but WITHOUT ANY WARRANTY; without even the implied warranty of\n-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n-   Lesser General Public License for more details.\n-\n-   You should have received a copy of the GNU Lesser General Public\n-   License along with the GNU C Library; if not, see\n-   <https://www.gnu.org/licenses/>.  */\n-\n-#ifndef _SYS_PROCFS_H\n-# error \"Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead.\"\n-#endif\n-\n-#if __WORDSIZE == 64\n-typedef unsigned int __pr_uid_t;\n-typedef unsigned int __pr_gid_t;\n-#else\n-typedef unsigned short int __pr_uid_t;\n-typedef unsigned short int __pr_gid_t;\n-#endif\ndiff --git a/sysdeps/unix/sysv/linux/s390/bits/timesize.h b/sysdeps/unix/sysv/linux/s390/bits/timesize.h\ndeleted file mode 100644\nindex 363b4d7904..0000000000\n--- a/sysdeps/unix/sysv/linux/s390/bits/timesize.h\n+++ /dev/null\n@@ -1,22 +0,0 @@\n-/* Bit size of the time_t type at glibc build time, Linux/s390.\n-   Copyright (C) 2021-2026 Free Software Foundation, Inc.\n-   This file is part of the GNU C Library.\n-\n-   The GNU C Library is free software; you can redistribute it and/or\n-   modify it under the terms of the GNU Lesser General Public\n-   License as published by the Free Software Foundation; either\n-   version 2.1 of the License, or (at your option) any later version.\n-\n-   The GNU C Library is distributed in the hope that it will be useful,\n-   but WITHOUT ANY WARRANTY; without even the implied warranty of\n-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n-   Lesser General Public License for more details.\n-\n-   You should have received a copy of the GNU Lesser General Public\n-   License along with the GNU C Library; if not, see\n-   <https://www.gnu.org/licenses/>.  */\n-\n-#include <bits/wordsize.h>\n-\n-/* Size in bits of the 'time_t' type of the default ABI.  */\n-#define __TIMESIZE\t__WORDSIZE\ndiff --git a/sysdeps/unix/sysv/linux/s390/bits/utmp.h b/sysdeps/unix/sysv/linux/s390/bits/utmp.h\ndeleted file mode 100644\nindex abe3a06fd7..0000000000\n--- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h\n+++ /dev/null\n@@ -1,127 +0,0 @@\n-/* The `struct utmp' type, describing entries in the utmp file.  GNU version.\n-   Copyright (C) 1993-2026 Free Software Foundation, Inc.\n-   This file is part of the GNU C Library.\n-\n-   The GNU C Library is free software; you can redistribute it and/or\n-   modify it under the terms of the GNU Lesser General Public\n-   License as published by the Free Software Foundation; either\n-   version 2.1 of the License, or (at your option) any later version.\n-\n-   The GNU C Library is distributed in the hope that it will be useful,\n-   but WITHOUT ANY WARRANTY; without even the implied warranty of\n-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n-   Lesser General Public License for more details.\n-\n-   You should have received a copy of the GNU Lesser General Public\n-   License along with the GNU C Library; if not, see\n-   <https://www.gnu.org/licenses/>.  */\n-\n-#ifndef _UTMP_H\n-# error \"Never include <bits/utmp.h> directly; use <utmp.h> instead.\"\n-#endif\n-\n-#include <paths.h>\n-#include <sys/time.h>\n-#include <sys/types.h>\n-#include <bits/wordsize.h>\n-\n-\n-#define UT_LINESIZE\t32\n-#define UT_NAMESIZE\t32\n-#define UT_HOSTSIZE\t256\n-\n-\n-/* The structure describing an entry in the database of\n-   previous logins.  */\n-struct lastlog\n-  {\n-#if __WORDSIZE == 32\n-    int64_t ll_time;\n-#else\n-    __time_t ll_time;\n-#endif\n-    char ll_line[UT_LINESIZE];\n-    char ll_host[UT_HOSTSIZE];\n-  };\n-\n-\n-/* The structure describing the status of a terminated process.  This\n-   type is used in `struct utmp' below.  */\n-struct exit_status\n-  {\n-    short int e_termination;\t/* Process termination status.  */\n-    short int e_exit;\t\t/* Process exit status.  */\n-  };\n-\n-\n-/* The structure describing an entry in the user accounting database.  */\n-struct utmp\n-{\n-  short int ut_type;\t\t/* Type of login.  */\n-  pid_t ut_pid;\t\t\t/* Process ID of login process.  */\n-  char ut_line[UT_LINESIZE]\n-     __attribute_nonstring__;\t/* Devicename.  */\n-  char ut_id[4]\n-    __attribute_nonstring__;\t/* Inittab ID.  */\n-  char ut_user[UT_NAMESIZE]\n-     __attribute_nonstring__;\t/* Username.  */\n-  char ut_host[UT_HOSTSIZE]\n-     __attribute_nonstring__;\t/* Hostname for remote login.  */\n-  struct exit_status ut_exit;\t/* Exit status of a process marked\n-\t\t\t\t   as DEAD_PROCESS.  */\n-/* The ut_session and ut_tv fields must be the same size when compiled\n-   32- and 64-bit.  This allows data files and shared memory to be\n-   shared between 32- and 64-bit applications.  */\n-#if __WORDSIZE == 32\n-  int64_t ut_session;\t\t/* Session ID, used for windowing.  */\n-  struct\n-  {\n-    int64_t tv_sec;\t\t/* Seconds.  */\n-    int64_t tv_usec;\t\t/* Microseconds.  */\n-  } ut_tv;\t\t\t/* Time entry was made.  */\n-#else\n-  long int ut_session;\t\t/* Session ID, used for windowing.  */\n-  struct timeval ut_tv;\t\t/* Time entry was made.  */\n-#endif\n-\n-  int32_t ut_addr_v6[4];\t/* Internet address of remote host.  */\n-  char __glibc_reserved[20];\t\t/* Reserved for future use.  */\n-};\n-\n-/* Backwards compatibility hacks.  */\n-#define ut_name\t\tut_user\n-#ifndef _NO_UT_TIME\n-/* We have a problem here: `ut_time' is also used otherwise.  Define\n-   _NO_UT_TIME if the compiler complains.  */\n-# define ut_time\tut_tv.tv_sec\n-#endif\n-#define ut_xtime\tut_tv.tv_sec\n-#define ut_addr\t\tut_addr_v6[0]\n-\n-\n-/* Values for the `ut_type' field of a `struct utmp'.  */\n-#define EMPTY\t\t0\t/* No valid user accounting information.  */\n-\n-#define RUN_LVL\t\t1\t/* The system's runlevel.  */\n-#define BOOT_TIME\t2\t/* Time of system boot.  */\n-#define NEW_TIME\t3\t/* Time after system clock changed.  */\n-#define OLD_TIME\t4\t/* Time when system clock changed.  */\n-\n-#define INIT_PROCESS\t5\t/* Process spawned by the init process.  */\n-#define LOGIN_PROCESS\t6\t/* Session leader of a logged in user.  */\n-#define USER_PROCESS\t7\t/* Normal process.  */\n-#define DEAD_PROCESS\t8\t/* Terminated process.  */\n-\n-#define ACCOUNTING\t9\n-\n-/* Old Linux name for the EMPTY type.  */\n-#define UT_UNKNOWN\tEMPTY\n-\n-\n-/* Tell the user that we have a modern system with UT_HOST, UT_PID,\n-   UT_TYPE, UT_ID and UT_TV fields.  */\n-#define _HAVE_UT_TYPE\t1\n-#define _HAVE_UT_PID\t1\n-#define _HAVE_UT_ID\t1\n-#define _HAVE_UT_TV\t1\n-#define _HAVE_UT_HOST\t1\ndiff --git a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h b/sysdeps/unix/sysv/linux/s390/bits/utmpx.h\ndeleted file mode 100644\nindex f96542a09d..0000000000\n--- a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h\n+++ /dev/null\n@@ -1,106 +0,0 @@\n-/* Structures and definitions for the user accounting database.  GNU version.\n-   Copyright (C) 1997-2026 Free Software Foundation, Inc.\n-   This file is part of the GNU C Library.\n-\n-   The GNU C Library is free software; you can redistribute it and/or\n-   modify it under the terms of the GNU Lesser General Public\n-   License as published by the Free Software Foundation; either\n-   version 2.1 of the License, or (at your option) any later version.\n-\n-   The GNU C Library is distributed in the hope that it will be useful,\n-   but WITHOUT ANY WARRANTY; without even the implied warranty of\n-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n-   Lesser General Public License for more details.\n-\n-   You should have received a copy of the GNU Lesser General Public\n-   License along with the GNU C Library; if not, see\n-   <https://www.gnu.org/licenses/>.  */\n-\n-#ifndef _UTMPX_H\n-# error \"Never include <bits/utmpx.h> directly; use <utmpx.h> instead.\"\n-#endif\n-\n-#include <bits/types.h>\n-#include <sys/time.h>\n-#include <bits/wordsize.h>\n-\n-\n-#ifdef __USE_GNU\n-# include <paths.h>\n-# define _PATH_UTMPX\t_PATH_UTMP\n-# define _PATH_WTMPX\t_PATH_WTMP\n-#endif\n-\n-\n-#define __UT_LINESIZE\t32\n-#define __UT_NAMESIZE\t32\n-#define __UT_HOSTSIZE\t256\n-\n-\n-/* The structure describing the status of a terminated process.  This\n-   type is used in `struct utmpx' below.  */\n-struct __exit_status\n-  {\n-#ifdef __USE_GNU\n-    short int e_termination;\t/* Process termination status.  */\n-    short int e_exit;\t\t/* Process exit status.  */\n-#else\n-    short int __e_termination;\t/* Process termination status.  */\n-    short int __e_exit;\t\t/* Process exit status.  */\n-#endif\n-  };\n-\n-\n-/* The structure describing an entry in the user accounting database.  */\n-struct utmpx\n-{\n-  short int ut_type;\t\t/* Type of login.  */\n-  __pid_t ut_pid;\t\t/* Process ID of login process.  */\n-  char ut_line[__UT_LINESIZE]\n-    __attribute_nonstring__;\t/* Devicename.  */\n-  char ut_id[4]\n-    __attribute_nonstring__;\t/* Inittab ID.  */\n-  char ut_user[__UT_NAMESIZE]\n-    __attribute_nonstring__;\t/* Username.  */\n-  char ut_host[__UT_HOSTSIZE]\n-    __attribute_nonstring__;\t/* Hostname for remote login.  */\n-  struct __exit_status ut_exit;\t/* Exit status of a process marked\n-\t\t\t\t   as DEAD_PROCESS.  */\n-\n-/* The fields ut_session and ut_tv must be the same size when compiled\n-   32- and 64-bit.  This allows files and shared memory to be shared\n-   between 32- and 64-bit applications.  */\n-#if __WORDSIZE == 32\n-  __int64_t ut_session;\t\t/* Session ID, used for windowing.  */\n-  struct\n-  {\n-    __int64_t tv_sec;\t\t/* Seconds.  */\n-    __int64_t tv_usec;\t\t/* Microseconds.  */\n-  } ut_tv;\t\t\t/* Time entry was made.  */\n-#else\n-  long int ut_session;\t\t/* Session ID, used for windowing.  */\n-  struct timeval ut_tv;\t\t/* Time entry was made.  */\n-#endif\n-  __int32_t ut_addr_v6[4];\t/* Internet address of remote host.  */\n-  char __glibc_reserved[20];\t\t/* Reserved for future use.  */\n-};\n-\n-\n-/* Values for the `ut_type' field of a `struct utmpx'.  */\n-#define EMPTY\t\t0\t/* No valid user accounting information.  */\n-\n-#ifdef __USE_GNU\n-# define RUN_LVL\t1\t/* The system's runlevel.  */\n-#endif\n-#define BOOT_TIME\t2\t/* Time of system boot.  */\n-#define NEW_TIME\t3\t/* Time after system clock changed.  */\n-#define OLD_TIME\t4\t/* Time when system clock changed.  */\n-\n-#define INIT_PROCESS\t5\t/* Process spawned by the init process.  */\n-#define LOGIN_PROCESS\t6\t/* Session leader of a logged in user.  */\n-#define USER_PROCESS\t7\t/* Normal process.  */\n-#define DEAD_PROCESS\t8\t/* Terminated process.  */\n-\n-#ifdef __USE_GNU\n-# define ACCOUNTING\t9\t/* System accounting.  */\n-#endif\n","prefixes":["3/5"]}