From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16267 invoked by alias); 21 Feb 2004 09:21:54 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 16259 invoked from network); 21 Feb 2004 09:21:53 -0000 Received: from unknown (HELO gollum.inter.net.il) (192.114.186.22) by sources.redhat.com with SMTP; 21 Feb 2004 09:21:53 -0000 Received: from zaretski ([80.230.152.8]) by gollum.inter.net.il (MOS 3.4.4-GR) with ESMTP id CLY91621; Sat, 21 Feb 2004 11:20:53 +0200 (IST) Date: Sat, 21 Feb 2004 09:21:00 -0000 From: "Eli Zaretskii" To: Daniel Jacobowitz Message-Id: <9003-Sat21Feb2004112006+0200-eliz@elta.co.il> CC: cagney@gnu.org, ezannoni@redhat.com, carlton@kealia.com, gdb@sources.redhat.com In-reply-to: <20040220184847.GA16796@nevyn.them.org> (message from Daniel Jacobowitz on Fri, 20 Feb 2004 13:48:47 -0500) Subject: Re: Huge slowdown since 6.0 Reply-to: Eli Zaretskii References: <20040218210927.GA16641@nevyn.them.org> <20040220050905.GA15209@nevyn.them.org> <16438.14300.323849.306261@localhost.redhat.com> <40363D78.9080708@gnu.org> <16438.18096.205403.553354@localhost.redhat.com> <40364CF2.5020704@gnu.org> <20040220182411.GA14238@nevyn.them.org> <403655D4.1020102@gnu.org> <20040220184847.GA16796@nevyn.them.org> X-SW-Source: 2004-02/txt/msg00308.txt.bz2 > Date: Fri, 20 Feb 2004 13:48:47 -0500 > From: Daniel Jacobowitz > > My point is that whether or not "break main" shows up as resolving to > the main executable, to get it right in the general case, we also need > shared library symbols. Being relatively ignorant about the symtab issues, I might be missing something, but my naive take of this is: couldn't we load the library symbols only if the symbol FOO from a command such as "break FOO" is not found in the main executable? As for the shared libraries case, we could add start by loading only user shared libraries, leaving out the system libraries. A list of library names known to be system libraries plus some simple logic could accomplish that, I think. In general, it seems to me that if a symbol typed by the user is found neither in the executable nor in the non-system shared libraries used by the program, that symbol name is more likely a typo than a symbol the user really wants. So I'd even suggest asking for confirmation before loading the system libraries (we could have a `set' command to avoid the confirmation, for those brave souls that debug system libraries). For example, even in Andrew's extreme case of "break TAB", wouldn't it make more sense to print only the names that do not belong to the system libraries? Do we really think that the user wants to see names like "__exit" or "__libc_init" or "____strtod_l_internal"? > I discussed this at length in the last thread about multiple-address > breakpoints. If that discussion answers the questions I asked above, could you please point me to the URL(s) of the relevant message(s), so that you would not need to repeat them?