This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: examining a core dump on a machine with other base addresses in shared libraries
- From: Paul Pluzhnikov <ppluzhnikov at google dot com>
- To: Drago Krznaric <drago dot krznaric at spray dot se>
- Cc: gdb at sourceware dot org
- Date: Wed, 27 May 2009 16:46:56 -0700
- Subject: Re: examining a core dump on a machine with other base addresses in shared libraries
- References: <1243457555.17311.4.camel@localhost.localdomain>
On Wed, May 27, 2009 at 1:52 PM, Drago Krznaric <drago.krznaric@spray.se> wrote:
> I have a program and a core dump created on machine A that I copy to
> machine B. I can open the core dump and get a nice backtrace on A but
> not on B. The reason appears to be that the shared libraries on A and B
> have different base addresses. They are otherwise exactly identical in
> hardware and software (RedHat 4).
Are you absolutely sure the libc binaries are identical between A and B?
We see a lot of similar GDB failures due to mismatch between libc versions
(but we don't use prelink).
You could verify whether prelink is the problem, by copying B:libc.so.6 and
B:ld-linux.so.2 to e.g. /tmp/lib, manually prelinking them to the same
address A:libc.so.6 and A:ld-linux.so.2 were prelinked at, and verifying
they "work" (set solib-absolute-prefix /tmp in GDB before loading the core).
I think you should also get identical (as in md5sum-identical) binary
for B:/tmp/lib/libc.so.6 and A:/lib/libc.so.6
Cheers,
--
Paul Pluzhnikov