From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 766EE3858CDB for ; Mon, 8 Aug 2022 13:30:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 766EE3858CDB Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-251-ZHGDfOWjNOef2V-UVDWdDg-1; Mon, 08 Aug 2022 09:30:08 -0400 X-MC-Unique: ZHGDfOWjNOef2V-UVDWdDg-1 Received: by mail-qt1-f200.google.com with SMTP id l21-20020ac87255000000b0034243a8c14eso6738954qtp.6 for ; Mon, 08 Aug 2022 06:30:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc; bh=6XVqCpEDpUhJ2d5hcN9KixgmHUJDVyBnDSUZwkGLp/U=; b=zRcuidSDP1SNDzDhndWNLlBCTeEZ7rmfWoi1lD+U3A/3B3mCj2kcsGVFeEUEwxn3Dh eRx/ZIfG/8cpqLGtfMhkq7XNfx5yBuvIZhwo88O9V2WHpWTe3VmDvTaqGcNg5z5npCZh eEPT2+EWjdp8h+C3T652EdMZ+25T3JhZRi6v7RNc15czCHfBU1qlDdTbv0nunQ88ZdVh bTjzcOhn2VpMrxtDkNVYZfg8ihenHVVRMaJBRFa5zisunK8ltpaWH4/HwUXbLgWuLRfU BOQWGOjFyui+D+Cd5/bU2RPqQfynXrxBEAVngC7tvcu/b8jwdaAfxA9+d/bJiR0WROEP rrfQ== X-Gm-Message-State: ACgBeo1oTQrNp0C6vR8kbjWZlWuFJDkFXtADMs4opn7lGSHVZIIvz/O6 5N/WBZCchtTxwp6CHsbtKTXphNxNDGyntYr4dAH9vMXDfq7uW98kG2K0glvWLcbicbae30tgp0f OlyYnkK8saKp9P1JLlNhrViHGN10gypI= X-Received: by 2002:a05:620a:2788:b0:6b6:2012:405e with SMTP id g8-20020a05620a278800b006b62012405emr13648283qkp.18.1659965408155; Mon, 08 Aug 2022 06:30:08 -0700 (PDT) X-Google-Smtp-Source: AA6agR4z6JpR3Xtm1enr2/1RwQInniIYhgQAMSK8gmGgQ7L0kctOIdWgHkG81qLeVAZFjXcB3dO0zCIoqnnVXUPbcb0= X-Received: by 2002:a05:620a:2788:b0:6b6:2012:405e with SMTP id g8-20020a05620a278800b006b62012405emr13648261qkp.18.1659965407892; Mon, 08 Aug 2022 06:30:07 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jonathan Wakely Date: Mon, 8 Aug 2022 14:29:57 +0100 Message-ID: Subject: Re: [PATCH] Add _GLIBCXX_DEBUG backtrace generation To: =?UTF-8?Q?Fran=C3=A7ois_Dumont?= Cc: "libstdc++@gcc.gnu.org" , gcc-patches X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_SHORT, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, 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: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Aug 2022 13:30:13 -0000 On Wed, 13 Jul 2022 at 18:28, Fran=C3=A7ois Dumont via Libstdc++ wrote: > > libstdc++: [_GLIBCXX_DEBUG] Add backtrace generation on demand > > Add _GLIBCXX_DEBUG_BACKTRACE macro to activate backtrace generation > on _GLIBCXX_DEBUG assertions. Prerequisite is to have configure the lib > with: > > --enable-libstdcxx-backtrace=3Dyes > > libstdc++-v3/ChangeLog: > > * include/debug/formatter.h > [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_state): Declare. > [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_create_state): Declare. > [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_callback): Define. > [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_error_callback): Define= . > [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_func): Define. > [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full): Declare. > [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_state): New. > [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_full): New. > * src/c++11/debug.cc (pretty_print): Rename into... > (print_function): ...that. This does more than just rename it, what are the other changes for? > [_GLIBCXX_HAVE_STACKTRACE](print_backtrace): New. > (_Error_formatter::_M_error()): Adapt. > * src/libbacktrace/Makefile.am: Add backtrace.c. > * src/libbacktrace/Makefile.in: Regenerate. > * src/libbacktrace/backtrace-rename.h (backtrace_full): New. > * testsuite/23_containers/vector/debug/assign4_neg.cc: Add backtrace > generation. > * doc/xml/manual/debug_mode.xml: Document _GLIBCXX_DEBUG_BACKTRACE. > * doc/xml/manual/using.xml: Likewise. > > Tested under Linux x86_64 normal and _GLIBCXX_DEBUG modes. > > Ok to commit ? >--- a/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc >+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc >@@ -16,6 +16,7 @@ > // . > // > // { dg-do run { xfail *-*-* } } >+// { dg-options "-D_GLIBCXX_DEBUG_BACKTRACE -lstdc++_libbacktrace" } > > #include > #include This will fail to link if the static lib isn't available.