Message ID | 20221004170747.154307-10-blarsen@redhat.com |
---|---|
State | Committed |
Headers |
Return-Path: <gdb-patches-bounces+patchwork=sourceware.org@sourceware.org> 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 EED873853808 for <patchwork@sourceware.org>; Tue, 4 Oct 2022 17:10:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EED873853808 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1664903409; bh=sj+XYkES1e+1tLNA4uS8pXHGvO51uZQ7J1GXL9zQWNI=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=pbq7IjvwDLAMoVk0ojoOAW0ve6SfH6BcdibLb6lyll0bH4fhFfXArmhNygFVmn93F XlN9eNJB66c/aGGewAFNkRAq4LYYuSt6sKD/2xguO1VJFth+xTzhB/3KKvFMplmI63 sVgIG7aL5mVxxnC0qU4A4OtP6aldLiIbg6+hSzdw= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 1E5473858299 for <gdb-patches@sourceware.org>; Tue, 4 Oct 2022 17:08:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1E5473858299 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-310-X_3gI6GdODO-D0ZXemzLcQ-1; Tue, 04 Oct 2022 13:08:16 -0400 X-MC-Unique: X_3gI6GdODO-D0ZXemzLcQ-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3DD7C85A59D for <gdb-patches@sourceware.org>; Tue, 4 Oct 2022 17:08:16 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.40.192.57]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 601B6492B04; Tue, 4 Oct 2022 17:08:15 +0000 (UTC) To: gdb-patches@sourceware.org Subject: [PATCH 08/11] gdb/testsuite: disable gdb.cp/typeid.exp when using clang Date: Tue, 4 Oct 2022 19:07:44 +0200 Message-Id: <20221004170747.154307-10-blarsen@redhat.com> In-Reply-To: <20221004170747.154307-1-blarsen@redhat.com> References: <20221004170747.154307-1-blarsen@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, 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: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list <gdb-patches.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=subscribe> From: Bruno Larsen via Gdb-patches <gdb-patches@sourceware.org> Reply-To: Bruno Larsen <blarsen@redhat.com> Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" <gdb-patches-bounces+patchwork=sourceware.org@sourceware.org> |
Series |
Cleanup gdb.cp tests when running with clang
|
|
Commit Message
Guinevere Larsen
Oct. 4, 2022, 5:07 p.m. UTC
Since clang chooses to not add any debug information from standard libraries, gdb.cp/typeid.exp will always fail, so this test is skipped when it clang used. --- gdb/testsuite/gdb.cp/typeid.exp | 5 +++++ 1 file changed, 5 insertions(+)
Comments
Bruno Larsen via Gdb-patches <gdb-patches@sourceware.org> writes: > Since clang chooses to not add any debug information from standard > libraries, gdb.cp/typeid.exp will always fail, so this test is skipped > when it clang used. OK, so I see what you're saying. But I don't think it follows that we should skip the whole test. Also, without digging into the test further, and looking at the generated symbols, I think the above explanation makes things sound worse than they are. So, here's some of the output for 'nm -C' for the test binary (built with Clang): 0000000000003b70 V typeinfo for VB2 0000000000003b38 V typeinfo for Base 0000000000003b98 V typeinfo for Derived 0000000000003b28 V typeinfo for char [5] U typeinfo for int@@CXXABI_1.3 0000000000003bd0 V typeinfo for Base* U typeinfo for char*@@CXXABI_1.3 U typeinfo for char const*@@CXXABI_1.3 0000000000002012 V typeinfo name for VB1 000000000000201d V typeinfo name for VB2 0000000000002017 V typeinfo name for Base 0000000000002009 V typeinfo name for Derived 0000000000002004 V typeinfo name for char [5] 0000000000002022 V typeinfo name for Base* So, you're correct, Clang hasn't included the typeinfo for the base types. Except, it sort of has included it, it's just not compiled into the binary. So, I think, where the test does this: foreach simple_var {i cp ccp ca b} { We should actually do something like: set var {ca b} if {$started || ![test_compiler_info clang-*-* c++]} { # Clang doesn't place type information for the base types in # the executable, and relies on this being linked in from the # standard library. As a result, type information for these # variables is only available once the inferior is started. lappend var i cp ccp } foreach simple_var $var { What do you think? Thanks, Andrew > --- > gdb/testsuite/gdb.cp/typeid.exp | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/gdb/testsuite/gdb.cp/typeid.exp b/gdb/testsuite/gdb.cp/typeid.exp > index 6411217191a..d110b3e7695 100644 > --- a/gdb/testsuite/gdb.cp/typeid.exp > +++ b/gdb/testsuite/gdb.cp/typeid.exp > @@ -23,6 +23,11 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} { > return -1 > } > > +if {[test_compiler_info clang-*-*]} { > + untested "clang does not add debuginfo for standard libraries" > + return > +} > + > proc do_typeid_tests {started} { > global hex > > -- > 2.37.3
diff --git a/gdb/testsuite/gdb.cp/typeid.exp b/gdb/testsuite/gdb.cp/typeid.exp index 6411217191a..d110b3e7695 100644 --- a/gdb/testsuite/gdb.cp/typeid.exp +++ b/gdb/testsuite/gdb.cp/typeid.exp @@ -23,6 +23,11 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} { return -1 } +if {[test_compiler_info clang-*-*]} { + untested "clang does not add debuginfo for standard libraries" + return +} + proc do_typeid_tests {started} { global hex