From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25840 invoked by alias); 29 Nov 2011 16:14:10 -0000 Received: (qmail 25826 invoked by uid 22791); 29 Nov 2011 16:14:07 -0000 X-SWARE-Spam-Status: No, hits=-7.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 29 Nov 2011 16:13:47 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id pATGDlnX025909 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 29 Nov 2011 11:13:47 -0500 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id pATGDkLj021903; Tue, 29 Nov 2011 11:13:46 -0500 Received: from barimba (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id pATGDjgg031576; Tue, 29 Nov 2011 11:13:45 -0500 From: Tom Tromey To: Joel Brobecker Cc: gdb-patches@sources.redhat.com Subject: Re: set multiple-symbol ask/cancel not working References: <20111123163917.GA13809@adacore.com> <20111123232406.GQ13809@adacore.com> <20111124105603.GA91879@adacore.com> <20111124163304.GR13809@adacore.com> <20111129032917.GR24943@adacore.com> Date: Tue, 29 Nov 2011 16:14:00 -0000 In-Reply-To: <20111129032917.GR24943@adacore.com> (Joel Brobecker's message of "Mon, 28 Nov 2011 19:29:17 -0800") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain 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 X-SW-Source: 2011-11/txt/msg00819.txt.bz2 >>>>> "Joel" == Joel Brobecker writes: Joel> It looks like "set multiple-symbols ask/cancel" regressed again :-(. Joel> (gdb) set multiple-symbols ask Joel> (gdb) b normal_menu Joel> Breakpoint 1 at 0x402130: normal_menu. (2 locations) Thanks for sending the reproducer and the instructions. This saved a lot of time. I looked into this. The bug is that the canonical form for each location is the same: "pck.adb:normal_menu". (Unlike in C++, where the arguments would be part of the symbol name...) I am not sure of the best way to handle this. Personally I think the C++ approach is pretty good (though not without its baggage). But, I don't know how to implement that for Ada, and I assume that there is probably some reason it isn't done. Since the "canonical form" doesn't actually have to be valid input to linespec (it is only used for filtering the results -- well, it is now that I fixed a couple of bad uses), I went ahead and changed linespec.c:add_sal_to_sals to use FILE:FUNCTION:LINE for the canonical form in this case. This gives: (gdb) b pck.adb:normal_Menu [0] cancel [1] all [2] pck.adb:pck.normal_menu:4 [3] pck.adb:pck.normal_menu:8 Tom