From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 128531 invoked by alias); 2 Jun 2017 12:22:40 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 128517 invoked by uid 89); 2 Jun 2017 12:22:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=1511 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 02 Jun 2017 12:22:38 +0000 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EFA7F7E9CF for ; Fri, 2 Jun 2017 12:22:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com EFA7F7E9CF Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=palves@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com EFA7F7E9CF Received: from cascais.lan (ovpn04.gateway.prod.ext.ams2.redhat.com [10.39.146.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id 776D35C549 for ; Fri, 2 Jun 2017 12:22:40 +0000 (UTC) From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH 01/40] Make gdb.base/dmsym.exp independent of "set language ada" Date: Fri, 02 Jun 2017 12:22:00 -0000 Message-Id: <1496406158-12663-2-git-send-email-palves@redhat.com> In-Reply-To: <1496406158-12663-1-git-send-email-palves@redhat.com> References: <1496406158-12663-1-git-send-email-palves@redhat.com> X-SW-Source: 2017-06/txt/msg00007.txt.bz2 This test is using "set language ada" expecting that to cause GDB to do Ada symbol name matching. That won't work when GDB uses the symbol's language to decide which symbol matching algorithm to use, because the test's symbols are C symbols. So generalize the test a bit to not rely on Ada name matching rules. Confirmed that by undoing the original fix the test was written for, the test still fails. gdb/testsuite/ChangeLog: * gdb.base/dmsym.c (pck__foo__bar__minsym): Rename to ... (test_minsym): ... this, and make static. (get_pck__foo__bar__minsym): Rename to ... (get_test_minsym): ... this. * gdb.base/dmsym.exp (): Remove "set language ada" call. Adjust symbol names and comments. * gdb.base/dmsym_main.c (get_pck__foo__bar__minsym): Rename to ... (get_test_minsym): ... this. (pck__foo__bar__minsym__2): Rename to ... (test_minsym): ... this. (main): Adjust. --- gdb/testsuite/gdb.base/dmsym.c | 8 ++++---- gdb/testsuite/gdb.base/dmsym.exp | 39 +++++++++++++------------------------ gdb/testsuite/gdb.base/dmsym_main.c | 10 +++++----- 3 files changed, 23 insertions(+), 34 deletions(-) diff --git a/gdb/testsuite/gdb.base/dmsym.c b/gdb/testsuite/gdb.base/dmsym.c index f358b51..dccea23 100644 --- a/gdb/testsuite/gdb.base/dmsym.c +++ b/gdb/testsuite/gdb.base/dmsym.c @@ -15,11 +15,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -int pck__foo__bar__minsym = 123; +static int test_minsym = 123; int -get_pck__foo__bar__minsym (void) +get_test_minsym (void) { - pck__foo__bar__minsym++; - return pck__foo__bar__minsym; + test_minsym++; + return test_minsym; } diff --git a/gdb/testsuite/gdb.base/dmsym.exp b/gdb/testsuite/gdb.base/dmsym.exp index a318080..191a319 100644 --- a/gdb/testsuite/gdb.base/dmsym.exp +++ b/gdb/testsuite/gdb.base/dmsym.exp @@ -44,42 +44,31 @@ clean_restart ${testfile} set num "\[0-9\]+" set addr "0x\[0-9a-zA-Z\]+" -# Although the test program is written in C, the original problem -# occurs only when the language is Ada. The use of a C program is -# only a convenience to be able to exercise the original problem -# without requiring an Ada compiler. In the meantime, temporarily -# force the language to Ada. - -gdb_test_no_output "set lang ada" - -# Verify that setting a breakpoint on `pck__foo__bar__minsym' only -# results in one location found (function pck__foo__bar__minsym__2). -# A mistake would be to also insert a breakpoint where -# pck__foo__bar__minsym is defined. Despite the fact that there is -# no debugging info available, this is a data symbol and thus should -# not be used for breakpoint purposes. - -gdb_test "break pck__foo__bar__minsym" \ +# Verify that setting a breakpoint on `test_minsym' only results in +# one location found. A mistake would be to also insert a breakpoint +# in the test_minsym data symbol in dmsym.c. Despite the fact that +# there is no debugging info available, this is a data symbol and thus +# should not be used for breakpoint purposes. + +gdb_test "break test_minsym" \ "Breakpoint $num at $addr.: file .*dmsym_main\\.c, line $num\\." # However, verify that the `info line' command, on the other hand, # finds both locations. -gdb_test "info line pck__foo__bar__minsym" \ - "Line $num of \".*dmsym_main\\.c\" .*\r\nNo line number information available for address $addr " - -gdb_test_no_output "set lang auto" +gdb_test "info line test_minsym" \ + "Line $num of \".*dmsym_main\\.c\" .*\r\nNo line number information available for address $addr " -# Now, run the program until we get past the call to -# pck__foo__bar__minsym__2. Except when using hardware breakpoints, -# inferior behavior is going to be affected if a breakpoint was -# incorrectly inserted at pck__foo__bar__minsym. +# Now, run the program until we get past the call to test_minsym. +# Except when using hardware breakpoints, inferior behavior is going +# to be affected if a breakpoint was incorrectly inserted at +# test_minsym. gdb_breakpoint dmsym_main.c:[gdb_get_line_number "BREAK" dmsym_main.c] gdb_run_cmd gdb_test "" \ - "Breakpoint $num, pck__foo__bar__minsym__2 \\(\\) at.*" \ + "Breakpoint $num, test_minsym \\(\\) at.*" \ "run until breakpoint at BREAK" gdb_test "continue" \ diff --git a/gdb/testsuite/gdb.base/dmsym_main.c b/gdb/testsuite/gdb.base/dmsym_main.c index 99589b8..0338dc7 100644 --- a/gdb/testsuite/gdb.base/dmsym_main.c +++ b/gdb/testsuite/gdb.base/dmsym_main.c @@ -15,18 +15,18 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -extern int get_pck__foo__bar__minsym (void); +extern int get_test_minsym (void); -int -pck__foo__bar__minsym__2 (void) +static int +test_minsym (void) { - return get_pck__foo__bar__minsym (); + return get_test_minsym (); } int main (void) { - int val = pck__foo__bar__minsym__2 (); + int val = test_minsym (); if (val != 124) /* BREAK */ return 1; -- 2.5.5