From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25790 invoked by alias); 4 Jan 2008 05:50:20 -0000 Received: (qmail 25779 invoked by uid 22791); 4 Jan 2008 05:50:19 -0000 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 04 Jan 2008 05:50:01 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 2B2E62A964F; Fri, 4 Jan 2008 00:50:00 -0500 (EST) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id fUTp0P3PiT3W; Fri, 4 Jan 2008 00:50:00 -0500 (EST) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 5D9B72A964D; Fri, 4 Jan 2008 00:49:59 -0500 (EST) Received: by joel.gnat.com (Postfix, from userid 1000) id C82DCE7ACB; Thu, 3 Jan 2008 21:49:51 -0800 (PST) Date: Fri, 04 Jan 2008 05:50:00 -0000 From: Joel Brobecker To: Vladimir Prus Cc: gdb-patches@sources.redhat.com Subject: Re: [RFA] Handle solaris dynamic linker name change. Message-ID: <20080104054951.GB28411@adacore.com> References: <200712242048.33983.vladimir@codesourcery.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200712242048.33983.vladimir@codesourcery.com> User-Agent: Mutt/1.4.2.2i 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: 2008-01/txt/msg00049.txt.bz2 Hi Volodya, > The solutions are: > 1. Stop gdb from thinking dynamic linker was unloaded > 2. Revive re_enable_breakpoints_in_shlibs > 3. Make breakpoint_re_set one try to re-enable bp_shlib_event > > I think (1) is best, since it will make (2) or (3) unnecessary. I agree. > Ignore change in name of dynamic linker during > execution. This also unbreaks pending breakpoints. > * solist.h (struct target_so_ops): New field > same. > * solib-svr4.c (svr4_same): New. > (_initialize_svr4_solib): Register svr4_same. > * solib.c (update_solib_list): Use ops->same, > if available. I really liked the idea of the patch, but I think your change will affect more than just solaris. the solib-svr4 target_so_ops is used by many targets, not just solaris ones. Within the same idea, how about making this a gdbarch method/function? The default value would be a function that does a *filename_cmp* (first improvement introduced by your patch ;-), and on solaris, we would provide a function that first does a filename_cmp, and if that fails, then looks at the specific name. I'd like the feedback from other maintainers about this. Thanks, -- Joel