From patchwork Wed Feb 12 09:16:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam James X-Patchwork-Id: 106361 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 4B49E3857C7B for ; Wed, 12 Feb 2025 09:17:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4B49E3857C7B X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) by sourceware.org (Postfix) with ESMTP id C2FB03858423 for ; Wed, 12 Feb 2025 09:16:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C2FB03858423 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C2FB03858423 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=140.211.166.183 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739351806; cv=none; b=Ze4PFkoR5JkTmcdxbLodEVMNWdNnfCrIh/ItuUZVavLb+OoqzlkXLK8Nn75nWkOlI+RFcpgd+rk2RtJQwyilJxsHQL5M8No9WgM/r+nKXo+GPvMXrVPp707/hhbvJA9Zco+Vo9vFEq7a6NtlG0LZvtqiFUjjrUycK8naqXDUopk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739351806; c=relaxed/simple; bh=6evwjbC60Y38mtbNUCdcFjGGpE6Td1xYB6+LaZuaegY=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=CbPE33K7bn1474geRf2IZmIUPUIAy3v+9HInvU5Nqd5mUxLVBl4YXX+ea0rx8qjBSCIEjd8HDVsfd4OJpttSE8M6XHwwJ5qaFGw1+dvI+JbibyyqW57910ZR7dWAZflhkrBm1GfbB3vrYQ8Zu5evwhZmBRX63/SbOzgI3Mpt+Ek= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C2FB03858423 Received: from mop.. (unknown [82.8.138.118]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: sam@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 4DEA2342FF8; Wed, 12 Feb 2025 09:16:45 +0000 (UTC) From: Sam James To: gcc-patches@gcc.gnu.org Cc: jwakely@redhat.com, jason@redhat.com, Sam James Subject: [PATCH htdocs 1/2] bugs: improve "ABI changes" subsection Date: Wed, 12 Feb 2025 09:16:32 +0000 Message-ID: X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org C++ ABI for C++ standards with full support by GCC (rather than those marked as experimental per https://gcc.gnu.org/projects/cxx-status.html) should be stable. It's certainly not the case in 2025 that one needs a full world rebuild for C++ libraries using e.g. the default standard or any other supported standard by C++, unless it is marked experimental where we provide no guarantees. --- htdocs/bugs/index.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/htdocs/bugs/index.html b/htdocs/bugs/index.html index d6556b26..99d19095 100644 --- a/htdocs/bugs/index.html +++ b/htdocs/bugs/index.html @@ -633,14 +633,14 @@ changed the parser rules so that <:: works as expected. components: the first defines how the elements of classes are laid out, how functions are called, how function names are mangled, etc; the second part deals with the internals of the objects in libstdc++. -Although we strive for a non-changing ABI, so far we have had to -modify it with each major release. If you change your compiler to a -different major release you must recompile all libraries that -contain C++ code. If you fail to do so you risk getting linker -errors or malfunctioning programs. -It should not be necessary to recompile if you have changed -to a bug-fix release of the same version of the compiler; bug-fix -releases are careful to avoid ABI changes. See also the +For C++ standards marked as +experimental, +stable ABI is not guaranteed: for these, if you change your compiler to a +different major release you must recompile any such libraries built +with experimental standard support that contain C++ code. If you fail +to do so, you risk getting linker errors or malfunctioning programs. +It should not be necessary to recompile for C++ standards supported fully +by GCC, such as the default standard. See also the compatibility section of the GCC manual.

From patchwork Wed Feb 12 09:16:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam James X-Patchwork-Id: 106362 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 D207C3857BA5 for ; Wed, 12 Feb 2025 09:17:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D207C3857BA5 X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id 36EE03858415 for ; Wed, 12 Feb 2025 09:16:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 36EE03858415 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 36EE03858415 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:ea4a:1:5054:ff:fec7:86e4 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739351810; cv=none; b=AsfBmhuXuCtFyPvTHq5mFEABSn3F9/S9q5wq5ETHRIBccXMW9xZjEoi+7G4MOW3Szrko4B0UEqEhPrc+h8kC/HAkxu5wNTwphsenJOwL/xFvCoLx2RCdyUHcptYg1g07iYdbdG4KKgxbyEwEWdxV9NIRE5WSJ/SVBv8deeyLv3s= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739351810; c=relaxed/simple; bh=q7BWFT12ObU2ZktUAyYg3wTF//P3zfLx6BlkYWtEF7g=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=gAybM3pDUEPSeV6SHnLl7hgsio4sYWG+10FXLHR7zradtA7j2uYJfhzAe0kTw7+SMUUlgLHLMeOGOC9dYNiH5xCquZRjzQM/5vLI0iQpd8z1yZL2PJdk8Sb8425ZPsubZjIWv6Y0uUqTXhvqXBqL5yQuneCPFpLSQR9c2kimJjs= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 36EE03858415 Received: from mop.. (unknown [82.8.138.118]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: sam@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 9095934300B; Wed, 12 Feb 2025 09:16:46 +0000 (UTC) From: Sam James To: gcc-patches@gcc.gnu.org Cc: jwakely@redhat.com, jason@redhat.com, Sam James Subject: [PATCH htdocs 2/2] gcc-15/porting_to: link to "Standards conformance" section for C++ Date: Wed, 12 Feb 2025 09:16:33 +0000 Message-ID: <8e3e4cb13eb1f322796ee8bcced44b03662a523b.1739351793.git.sam@gentoo.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org Suggested by Andrew Pinski. --- htdocs/gcc-15/porting_to.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/htdocs/gcc-15/porting_to.html b/htdocs/gcc-15/porting_to.html index b9b2efc7..829ae92f 100644 --- a/htdocs/gcc-15/porting_to.html +++ b/htdocs/gcc-15/porting_to.html @@ -137,6 +137,12 @@ In file included from <source>:1:

C++ language issues

+

+Note that all GCC releases make +improvements to conformance +which may reject non-conforming, legacy codebases. +

+

Header dependency changes

Some C++ Standard Library headers have been changed to no longer include other headers that were being used internally by the library.