From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Received: (qmail 7882 invoked from network); 11 Jan 2003 17:23:57 -0000 Received: from unknown (HELO redhat.com) (66.30.22.225) by 209.249.29.67 with SMTP; 11 Jan 2003 17:23:57 -0000 Received: by redhat.com (Postfix, from userid 201) id E6F411C115; Sat, 11 Jan 2003 12:24:31 -0500 (EST) Date: Sat, 11 Jan 2003 17:23:00 -0000 From: Christopher Faylor To: gdb-patches@sources.redhat.com Subject: Re: [RFC]: win32-nat.c better handling of DLL relocation Message-ID: <20030111172431.GA5683@redhat.com> Reply-To: gdb-patches@sources.redhat.com Mail-Followup-To: gdb-patches@sources.redhat.com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.1i X-SW-Source: 2003-01/txt/msg00450.txt.bz2 On Sat, Jan 11, 2003 at 03:52:09PM -0000, Raoul Gough wrote: >win32-nat.c currently only passes the loaded address of the .text >section into symbol_file_add, which means that any symbols from .data >or .bss don't get fixed up properly. This patch fixes the problem by >calculating the load addresses of all sections known to bfd. > >I recently posted a test case which demonstrates the relocation >problem in the "coffread.c extension" thread (message ID >avejk1$lv6$1@main.gmane.org, posted 7 Jan 2003 13:10:49 -0000). This >showed that gdb 5.2.1 didn't handle any DLL symbol relocations. The >current CVS version only handles the .text section. With this patch, >it handles all sections correctly. > >Raoul Gough. >2003-01-10 Raoul Gough > > * win32-nat.c(get_relocated_section_addrs): New function. Find > section load addresses for symbol handling in relocated DLLs. > (solib_symbols_add): Open a bfd and call get_relocated_section_addrs. I took a quick glance. Looks good. Now we just need that pesky assignment. I wonder if there is some way to do all of this assignment stuff electronically. It seems silly that we still have to rely on paper for this kind of thing. cgf