From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id CJOoOWxb2GJkTRcAWB0awg (envelope-from ) for ; Wed, 20 Jul 2022 15:45:48 -0400 Received: by simark.ca (Postfix, from userid 112) id E82531E5EA; Wed, 20 Jul 2022 15:45:48 -0400 (EDT) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=EM6c8Vn5; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 925F71E21F for ; Wed, 20 Jul 2022 15:45:48 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 44A39385114D for ; Wed, 20 Jul 2022 19:45:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 44A39385114D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1658346348; bh=gjb6Q2E3995alKo8dDBjwG56TzYfHY/Wa7yW2yn/SjM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=EM6c8Vn52aY1Zki9FTnPpRKe6okGRRknqespq9VEXVOYVdf0QZpyazhak3Myv1GeD sOpqhRNZ5cnLJxMfYNtGu+LVeqh1qzYzo9cb5AVX0vFSxIkwNDfK+I+rMtxjuGm7iW ajytX0hj5Pliw3QnMui37RwjxarsVD27S8An+ujE= 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 4BD7E385828A for ; Wed, 20 Jul 2022 19:45:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4BD7E385828A Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-629-lzLSQhIQMCylcoBQ3v_QMw-1; Wed, 20 Jul 2022 15:45:00 -0400 X-MC-Unique: lzLSQhIQMCylcoBQ3v_QMw-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 32BB43817A61 for ; Wed, 20 Jul 2022 19:45:00 +0000 (UTC) Received: from blarsen.com (ovpn-116-8.gru2.redhat.com [10.97.116.8]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5870F40C1288; Wed, 20 Jul 2022 19:44:59 +0000 (UTC) To: gdb-patches@sourceware.org Subject: [PATCH v4 04/15] gdb/testsuite: change gdb.base/nodebug.exp to not fail with clang Date: Wed, 20 Jul 2022 16:44:30 -0300 Message-Id: <20220720194441.168906-6-blarsen@redhat.com> In-Reply-To: <20220720194441.168906-1-blarsen@redhat.com> References: <20220720194441.168906-1-blarsen@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.11.54.2 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-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Bruno Larsen via Gdb-patches Reply-To: Bruno Larsen Cc: Andrew Burgess Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" Clang organizes the variables differently to gcc in the original version of this code, leading to the following differences when testing p (int*) &dataglobal + 1 gcc: $16 = (int *) 0x404034 clang: $16 = (int *) 0x404034 However, since the important part of this test doesn't seem to be which symbol is linked, but rather if GDB is correctly increasing the address. This test was changed to actually measure address changes, instead of assuming the ordering and naming of symbols. Co-Authored-By: Andrew Burgess --- gdb/testsuite/gdb.base/nodebug.exp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gdb/testsuite/gdb.base/nodebug.exp b/gdb/testsuite/gdb.base/nodebug.exp index 68a21eb07dd..1deed596095 100644 --- a/gdb/testsuite/gdb.base/nodebug.exp +++ b/gdb/testsuite/gdb.base/nodebug.exp @@ -170,6 +170,7 @@ if [nodebug_runto inner] then { set unk_type_re "has unknown type.*to its declared type" set ptr_math_re "Cannot perform pointer math on incomplete type \"$data_var_type\", try casting to a known type, or void \\*\\." set not_mem_re "Attempt to take address of value not located in memory\\." + set any_label_regexp "<\[^>\]+>" set dataglobal_unk_re "dataglobal.*$unk_type_re" @@ -183,7 +184,7 @@ if [nodebug_runto inner] then { {"dataglobal + 1" "" $dataglobal_unk_re $dataglobal_unk_re} {"&dataglobal" "" "\\($data_var_type \\*\\) $hex " " = $data_var_type \\*"} {"&dataglobal + 1" "" $ptr_math_re $ptr_math_re} - {"(int *) &dataglobal + 1" "" " = \\(int \\*\\) $hex " "int \\*"} + {"(int *) &dataglobal + 1" "" " = \\(int \\*\\) $hex $any_label_regexp" "int \\*"} {"&(int) dataglobal + 1" "" $not_mem_re $not_mem_re} {"&dataglobal, &dataglobal" "" "\\($data_var_type \\*\\) $hex " " = $data_var_type \\*"} {"*dataglobal" "" $dataglobal_unk_re $dataglobal_unk_re} @@ -214,7 +215,14 @@ if [nodebug_runto inner] then { gdb_test "whatis $exp" $whatis gdb_test "ptype $exp" $whatis } - + + # Check that pointer arithmetic works as expected. + set addr1 [get_hexadecimal_valueof "&dataglobal" "*UNKNOWN*"] + set addr2 [get_hexadecimal_valueof "(int *) &dataglobal + 1" "*UNKNOWN*"] + set offset [expr $addr2 - $addr1] + set int_size [get_integer_valueof "sizeof (int)" "*UNKNOWN*"] + gdb_assert { $offset == $int_size } + # The only symbol xcoff puts out for statics is for the TOC entry. # Possible, but hairy, for gdb to deal. Right now it doesn't, it # doesn't know the variables exist at all. -- 2.31.1