| Message ID | 20260109170347.1918445-1-stefansf@linux.ibm.com |
|---|---|
| State | New |
| Headers |
Return-Path: <gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id D0ABF4BA2E1E for <patchwork@sourceware.org>; Fri, 9 Jan 2026 17:04:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D0ABF4BA2E1E Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=RoVDHG+p X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id A26954BA2E25 for <gcc-patches@gcc.gnu.org>; Fri, 9 Jan 2026 17:04:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A26954BA2E25 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A26954BA2E25 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1767978247; cv=none; b=CZT4FS139/kuv0fmZ8fC94fgKozeJL3G2L3/ggX1TnkYpfziSqlLAUWZSsQepKeVbCOj8clUFCe5Rh4vWArbmfr3/w+CEQy1i7Rh3cUf9Mpv6mHxgekgPjGAT25iDdcROv2REpng8emmKEfgDE8l86QXxMa5f9ABTkowxHSonr0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1767978247; c=relaxed/simple; bh=qqa6YQEZdeRHB8YMeefg34P4ZR13GrcuW4q2xrtO2Qw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=TjEuHgA53P/+JgcFEig1dC5Ux3CSTq1wIT5dhkFu5P7PEI+j1uZSvegrWhVJVajFHGWnNem0iu6OOJulhKcceYHW6qe1iILpwtUN1qsI1FbK7Ysj5HTEi8hbm5tWntGgmWwj32SzfASzQKRQmTXy93AgLjx9sefKP2zyGNyafVU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A26954BA2E25 Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 609B8ldR010306 for <gcc-patches@gcc.gnu.org>; Fri, 9 Jan 2026 17:04:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=pp1; bh=5c+KMkRvW6RM8NT4itoDj5ad7QWkV6OyFBvSWc0rJ 6I=; b=RoVDHG+pI/Kvu2hpnAzVN6w+Mrq0fR+j2cgKW6Kb/N3M3D5Uw4aievbiV /j2AiFvQRrVowcSXyvssDgaGidsmcWebXJ0D2ixm5GVePnLrCxSJDDchfvnfmBvV CBRuFwRDlo2i/nKDharddP8LUaYhYKKOw+7dmtmR5UAB6HnRin1ExECHKG0/rHUf Z7ldvniGBEEcsCNJ8RT5ES7LRWaTouy+ey0stj8FmFQHUmF/CtOZyf4/n3tsU6xh YE9Cw4Pek8E7JifaczKr89NMPSmyNx6Jr3Au9j7rfKoHQtUb9cx7uDl+g2wMYOSK A2+kNC30PP43hkxhRJrxboe/u1efA== Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4berhkk2xp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <gcc-patches@gcc.gnu.org>; Fri, 09 Jan 2026 17:04:06 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 609FdLg1023483 for <gcc-patches@gcc.gnu.org>; Fri, 9 Jan 2026 17:04:06 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4bg3rmtq9w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <gcc-patches@gcc.gnu.org>; Fri, 09 Jan 2026 17:04:06 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 609H41aA61538632 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 9 Jan 2026 17:04:02 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D207A20043; Fri, 9 Jan 2026 17:04:01 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BD59120040; Fri, 9 Jan 2026 17:04:01 +0000 (GMT) Received: from a35lp68.lnxne.boe (unknown [9.152.108.100]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTPS; Fri, 9 Jan 2026 17:04:01 +0000 (GMT) From: Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> To: gcc-patches@gcc.gnu.org Cc: Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> Subject: [RFC,PATCH] s390: Deprecate -m31 support Date: Fri, 9 Jan 2026 18:03:47 +0100 Message-ID: <20260109170347.1918445-1-stefansf@linux.ibm.com> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=P4s3RyAu c=1 sm=1 tr=0 ts=69613506 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=vUbySO9Y5rIA:10 a=VkNPw1HP01LnGYTKEx00:22 a=mDV3o1hIAAAA:8 a=tnB3zcst2CxypOGLDN8A:9 X-Proofpoint-ORIG-GUID: sCgy0-MGnzaKQ5L4oSOk3Sx-yn1aqfXx X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA5MDEyNyBTYWx0ZWRfX01xGYB++H5K/ HCu0+bYoP+8yV8Krc+X+KL5lBIdvbAbci+tzxT+du3k1kRYa2RlIFQLAvn9SfQyM76Lv0/zWTqP rKB/ZjjiKM/+WitF1b1K95HcNRbJIGF8nftsEcM3pGC0Vb0tkIbsnCvSFpacHp0O0kzOBw8LH/x Vt8iEMvBSvgg59y+xG3rL7ZQOIRaVIPpfTwX3/oUig4vYQJyramkWMjWFVC6mv+b+uOrzx7cgaL x79H0K5u1Jw0NCSxnzLB/6xUSH3JpgBQYS3Q7lasQoHwsdoPOIT0QlGjEtZD/MaaYTE7fi3V+52 zhtqPpwNfseQlWev/mP0tdzKXweC00Df51uWPFHJDTbLggDXRZC2GjHAgNcC2IdlPtoWbrh6/gI 1YtNWtCva4qob4U4JXCZP9AfsQpzvXtbXcDpB3rdR8T+y2+AJE+reVkgVYhFNGgygjzBLhZXq/6 PkBAKT3UvJTG1N0Nipg== X-Proofpoint-GUID: sCgy0-MGnzaKQ5L4oSOk3Sx-yn1aqfXx X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-09_05,2026-01-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 priorityscore=1501 clxscore=1015 suspectscore=0 phishscore=0 adultscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2512120000 definitions=main-2601090127 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org |
| Series |
[RFC] s390: Deprecate -m31 support
|
|
Commit Message
Stefan Schulze Frielinghaus
Jan. 9, 2026, 5:03 p.m. UTC
From: Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
Since stage 4 draws ever closer I'm posting this already. However,
I'm not pushing this since it would break bootstrap. PR 122794 is
basically fixed, I'm just awaiting green light. However, in the
meantime another build problem showed up. This time while building
libstdc++:
cc1plus: warning: '-m31' is deprecated and support will be removed; use '-m64' instead [-Wdeprecated]
/gcc/src/libstdc++-v3/src/c++98/compatibility.cc:392:4: error: 'void {anonymous}::_Y_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl(...)' aliased to undefined symbol '_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEl'
392 | _Y##name(...) \
| ^~
/gcc/src/libstdc++-v3/src/c++98/compatibility.cc:403:31: note: in expansion of macro '_GLIBCXX_3_4_5_SYMVER'
403 | #define _GLIBCXX_APPLY_SYMVER _GLIBCXX_3_4_5_SYMVER
| ^~~~~~~~~~~~~~~~~~~~~
...
Without this patch, the build succeeds.
Anyhow, in order to give users a chance to disable the warning, I went
for -Wno-deprecated.
Starting with Linux 6.19, compat syscalls will be removed. Furthermore,
the next glibc release deprecates -m31 support. Therefore, the current
plan for GCC is to also deprecate -m31 and emit a warning for GCC 16 and
remove -m31 entirely for GCC 17.
Any objections to this approach?
-- >8 --
Support for -m31 is deprecated and support will be removed.
---
gcc/config/s390/s390.cc | 4 ++++
1 file changed, 4 insertions(+)
Comments
> Am 09.01.2026 um 18:05 schrieb Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>: > > From: Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> > > Since stage 4 draws ever closer I'm posting this already. However, > I'm not pushing this since it would break bootstrap. PR 122794 is > basically fixed, I'm just awaiting green light. However, in the > meantime another build problem showed up. This time while building > libstdc++: > > cc1plus: warning: '-m31' is deprecated and support will be removed; use '-m64' instead [-Wdeprecated] > /gcc/src/libstdc++-v3/src/c++98/compatibility.cc:392:4: error: 'void {anonymous}::_Y_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl(...)' aliased to undefined symbol '_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEl' > 392 | _Y##name(...) \ > | ^~ > /gcc/src/libstdc++-v3/src/c++98/compatibility.cc:403:31: note: in expansion of macro '_GLIBCXX_3_4_5_SYMVER' > 403 | #define _GLIBCXX_APPLY_SYMVER _GLIBCXX_3_4_5_SYMVER > | ^~~~~~~~~~~~~~~~~~~~~ > ... > > Without this patch, the build succeeds. > > Anyhow, in order to give users a chance to disable the warning, I went > for -Wno-deprecated. > > Starting with Linux 6.19, compat syscalls will be removed. Furthermore, > the next glibc release deprecates -m31 support. Therefore, the current > plan for GCC is to also deprecate -m31 and emit a warning for GCC 16 and > remove -m31 entirely for GCC 17. > > Any objections to this approach? Maybe diagnose at configure time when not —disable-multilib? Or drop -m31 from the default multilb set now, requiring explicit enablement? I find diagnostic at each invocation quite intrusive. Richard > > -- >8 -- > > Support for -m31 is deprecated and support will be removed. > --- > gcc/config/s390/s390.cc | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc > index 28a025be4e8..eba5a4ee6b6 100644 > --- a/gcc/config/s390/s390.cc > +++ b/gcc/config/s390/s390.cc > @@ -16711,6 +16711,10 @@ s390_option_override_internal (struct gcc_options *opts, > } > #endif > > + if (!TARGET_64BIT) > + warning (OPT_Wdeprecated, > + "%<-m31%> is deprecated and support will be removed; use %<-m64%> instead"); > + > #ifdef TARGET_DEFAULT_LONG_DOUBLE_128 > if (!TARGET_LONG_DOUBLE_128_P (opts_set->x_target_flags)) > opts->x_target_flags |= MASK_LONG_DOUBLE_128; > -- > 2.49.0 >
On Fri, Jan 09, 2026 at 08:02:01PM +0100, Richard Biener wrote: > > > > Am 09.01.2026 um 18:05 schrieb Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>: > > > > From: Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> > > > > Since stage 4 draws ever closer I'm posting this already. However, > > I'm not pushing this since it would break bootstrap. PR 122794 is > > basically fixed, I'm just awaiting green light. However, in the > > meantime another build problem showed up. This time while building > > libstdc++: > > > > cc1plus: warning: '-m31' is deprecated and support will be removed; use '-m64' instead [-Wdeprecated] > > /gcc/src/libstdc++-v3/src/c++98/compatibility.cc:392:4: error: 'void {anonymous}::_Y_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl(...)' aliased to undefined symbol '_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEl' > > 392 | _Y##name(...) \ > > | ^~ > > /gcc/src/libstdc++-v3/src/c++98/compatibility.cc:403:31: note: in expansion of macro '_GLIBCXX_3_4_5_SYMVER' > > 403 | #define _GLIBCXX_APPLY_SYMVER _GLIBCXX_3_4_5_SYMVER > > | ^~~~~~~~~~~~~~~~~~~~~ > > ... > > > > Without this patch, the build succeeds. > > > > Anyhow, in order to give users a chance to disable the warning, I went > > for -Wno-deprecated. > > > > Starting with Linux 6.19, compat syscalls will be removed. Furthermore, > > the next glibc release deprecates -m31 support. Therefore, the current > > plan for GCC is to also deprecate -m31 and emit a warning for GCC 16 and > > remove -m31 entirely for GCC 17. > > > > Any objections to this approach? > > Maybe diagnose at configure time when not —disable-multilib? Or drop -m31 from the default multilb set now, requiring explicit enablement? I find diagnostic at each invocation quite intrusive. I agree. That's why I wanted to make it suppressible via -Wno-deprecated, however, strictly speaking this also disables other warnings which might not be desirable, and I certainly do not want to go overboard by introducing some extra option just for suppressing a single deprecation warning. I also thought about a configure diagnostics but decided against it because users won't see it unless they build gcc on their own with multilib enabled. Giving this a second thought, users have to build gcc with multilib support anyway since most distributions do not ship gcc with multilib support for s390. I will give this another round internally. Thanks for your thoughts! Much appreciated. Cheers, Stefan > > Richard > > > > > -- >8 -- > > > > Support for -m31 is deprecated and support will be removed. > > --- > > gcc/config/s390/s390.cc | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc > > index 28a025be4e8..eba5a4ee6b6 100644 > > --- a/gcc/config/s390/s390.cc > > +++ b/gcc/config/s390/s390.cc > > @@ -16711,6 +16711,10 @@ s390_option_override_internal (struct gcc_options *opts, > > } > > #endif > > > > + if (!TARGET_64BIT) > > + warning (OPT_Wdeprecated, > > + "%<-m31%> is deprecated and support will be removed; use %<-m64%> instead"); > > + > > #ifdef TARGET_DEFAULT_LONG_DOUBLE_128 > > if (!TARGET_LONG_DOUBLE_128_P (opts_set->x_target_flags)) > > opts->x_target_flags |= MASK_LONG_DOUBLE_128; > > -- > > 2.49.0 > >
diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc index 28a025be4e8..eba5a4ee6b6 100644 --- a/gcc/config/s390/s390.cc +++ b/gcc/config/s390/s390.cc @@ -16711,6 +16711,10 @@ s390_option_override_internal (struct gcc_options *opts, } #endif + if (!TARGET_64BIT) + warning (OPT_Wdeprecated, + "%<-m31%> is deprecated and support will be removed; use %<-m64%> instead"); + #ifdef TARGET_DEFAULT_LONG_DOUBLE_128 if (!TARGET_LONG_DOUBLE_128_P (opts_set->x_target_flags)) opts->x_target_flags |= MASK_LONG_DOUBLE_128;