From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15942 invoked by alias); 12 Feb 2009 15:02:06 -0000 Received: (qmail 15478 invoked by uid 22791); 12 Feb 2009 15:02:04 -0000 X-SWARE-Spam-Status: No, hits=0.8 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_13,KAM_STOCKTIP,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 12 Feb 2009 15:01:54 +0000 Received: (qmail 17194 invoked from network); 12 Feb 2009 15:01:52 -0000 Received: from unknown (HELO wind.local) (vladimir@127.0.0.2) by mail.codesourcery.com with ESMTPA; 12 Feb 2009 15:01:52 -0000 From: Vladimir Prus To: Daniel Jacobowitz Subject: Re: MI solib notification Date: Thu, 12 Feb 2009 15:02:00 -0000 User-Agent: KMail/1.9.10 Cc: Marc Khouzam , gdb-patches@sources.redhat.com, Nick Roberts References: <200901310010.46738.vladimir@codesourcery.com> <200902121212.53025.vladimir@codesourcery.com> <20090212132247.GA3107@caradoc.them.org> In-Reply-To: <20090212132247.GA3107@caradoc.them.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200902121801.55254.vladimir@codesourcery.com> 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: 2009-02/txt/msg00284.txt.bz2 On Thursday 12 February 2009 16:22:47 Daniel Jacobowitz wrote: > On Thu, Feb 12, 2009 at 12:12:52PM +0300, Vladimir Prus wrote: > > Eclipse does use this, in particular consider this bit of code: > > > > public boolean hasSharedLibChanged(SharedLibrary lib, MIShared miLib) { > > return !miLib.getName().equals(lib.getFileName()) || > > !MIFormat.getBigInteger(miLib.getFrom()).equals(lib.getStartAddress()) || > > !MIFormat.getBigInteger(miLib.getTo()).equals(lib.getEndAddress()) || > > miLib.isRead() != lib.areSymbolsLoaded(); > > } > > > > Now, we know this is never going to happen in practice, when using GDB, and this is > > GDB-specific code, so maybe we can drop addresses from the GDB output and then DSF > > folks will make sure they don't use start/end addresses? > > I see. This is code that parses the CLI output, right? Let's do as > you suggest: not generate the addresses in MI notifications, and make > GDB responsible for detecting this change in the future. OK. > > Well, not necessary, due to this code in clear_solib: > > > > > > 903 if (exec_bfd != NULL > > 904 && bfd_get_flavour (exec_bfd) != bfd_target_aout_flavour) > > 905 disable_breakpoints_in_shlibs (); > > > > So, I think we'll only get additional chatter on a.out targets -- do we care? > > == vs != ? I think this runs everywhere except a.out. Yes, this runs everywhere except a.out and marks all breakpoints in solibs disabled, without printing any messages. *Then* we look over all solibs and call observer, but since all breakpoints are already disabled, breakpoint.c:disable_breakpoints_in_unloaded_shlib won't do anything, and won't say anything either. - Volodya