From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2350 invoked by alias); 9 Mar 2002 16:09:59 -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 2250 invoked from network); 9 Mar 2002 16:09:52 -0000 Received: from unknown (HELO nevyn.them.org) (128.2.145.6) by sources.redhat.com with SMTP; 9 Mar 2002 16:09:52 -0000 Received: from drow by nevyn.them.org with local (Exim 3.35 #1 (Debian)) id 16jjPt-0006ky-00; Sat, 09 Mar 2002 11:09:53 -0500 Date: Sat, 09 Mar 2002 08:09:00 -0000 From: Daniel Jacobowitz To: =?unknown-8bit?B?QuRuZy1oYSCg?= Cc: gdb@sources.redhat.com Subject: Re: Map offsets Message-ID: <20020309110953.A25901@nevyn.them.org> Mail-Followup-To: =?unknown-8bit?B?QuRuZy1oYSCg?= , gdb@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.3.23i X-SW-Source: 2002-03/txt/msg00083.txt.bz2 On Sat, Mar 09, 2002 at 03:52:34PM +0000, B?ng-ha ? wrote: > Hi! > > I'm sure this is a rather stupid question, but I'll ask it anyway: > I'm debugging a couple of processes under linux, and I want to load the > symbols from glibc. Now, the only way I've managed to figure out as to > perform the task of finding the base address of libc if to look at the > memory maps in /proc/?/maps, whence I get the base address of libc to be > e.g. 0x40020000 (this was for mingetty). So naturally, I do add-symbol-file > /lib/libc-2.2.2.so 0x4002000, but as it turns, it should be loaded > 0x4003BCB0, i.e. at an offset of 0x1BCB0 from what /proc says. (I got the > exact offset from looking at the dynamically linked function tables and > comparing the read function to what was acutally loaded, if that would > somehow matter) Anyway, I guess I could live with this small annoyance, if > it wasn't for that other libs wants to be loaded with other offsets. 0x1BCB0 > > didn't work with e.g. libresolv. And, I want to know the cause of this as > well, of > course. > So could someone tell me how to get the real offset, because I can't imagine > > that there isn't an error-free way to get the address, right? objdump -x /lib/libc.so.6: 10 .text 000e1460 0001d500 0001d500 0001d500 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE That second number. This should absolutely not be necessary! GDB should do it automatically. What version of GDB are you using? -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer