From patchwork Thu Oct 26 20:42:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam James X-Patchwork-Id: 1855986 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SGd6f706Rz23jc for ; Fri, 27 Oct 2023 07:43:22 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D5AAF385C6F5 for ; Thu, 26 Oct 2023 20:43:20 +0000 (GMT) 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 D88193858D32 for ; Thu, 26 Oct 2023 20:43:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D88193858D32 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 D88193858D32 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=1698352990; cv=none; b=fnzSqUr/P0eBNn0p0GFhRcbZikLzAP4Xgomb/oNiFld/iKp1qnuAH3xOU0CIx1rjoto4bdYkiaF5XF2SZ7xWxEIi68O9QnX7o4cSxSUozhPFgh4PA7dCb+vbPgdAYOoFlKnyJKWlt2abvbfhW6KZK4RkryjRLCq2Rso1t7sI1Eo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698352990; c=relaxed/simple; bh=CMeDmBO3UduVGPuNsgwCj3z8BLJo2bJ4VqxHf6QtrlA=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=G08f3jtMzR57EvlwpvpuHy5OLmWeqY6RTVDQSS9nzfjOOUa5sfA1bZVPcPQYPPhjUqxrjsS82RtIxqGiOBgFOZ9TYxiqxPnUdSfu3ZHIRbVAo7vmYBmTdP0nal9svKxZtUsKwA5jKq+JhJn/ApaLPq8XfxjUrP0aeWM6x78lL0s= ARC-Authentication-Results: i=1; server2.sourceware.org From: Sam James To: gcc-patches@gcc.gnu.org Cc: gerald@pfeifer.com, jwakely@redhat.com, Sam James Subject: [PATCH htdocs v3] bugs: Mention -D_GLIBCXX_ASSERTIONS and -D_GLIBCXX_DEBUG Date: Thu, 26 Oct 2023 21:42:14 +0100 Message-ID: <20231026204248.510365-1-sam@gentoo.org> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, KAM_SHORT, 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+incoming=patchwork.ozlabs.org@gcc.gnu.org These options both enabled more checking within the C++ standard library and can expose errors in submitted code. -D_GLIBCXX_DEBUG is mentioned separately because while we want people to try it, it's not always feasible because it requires the whole program and any used libraries to also be built with it (as it breaks ABI). Signed-off-by: Sam James --- v3: Link to debug mode docs. v2: Improve phrasing for the types of checks and be less scornful about ABI changes. htdocs/bugs/index.html | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/htdocs/bugs/index.html b/htdocs/bugs/index.html index da3d4c0d..40355911 100644 --- a/htdocs/bugs/index.html +++ b/htdocs/bugs/index.html @@ -56,6 +56,14 @@ makes a difference, or if compiling with -fsanitize=undefined produces any run-time errors, then your code is probably not correct.

+

We also ask that for C++ code, users test their programs with +-D_GLIBCXX_ASSERTIONS. If you're able to rebuild the entire +program (including any libraries it uses, because it changes ABI), please do try +libstdc++'s debug mode +(-D_GLIBCXX_DEBUG) which enables more thorough checking in parts of +the C++ standard library. If either of these fail, this is a strong indicator +of an error in your code.

+

Summarized bug reporting instructions

After this summary, you'll find detailed instructions that explain