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
Yes and no... It turns out that they're identical on A and B but on
those machines I had an old gdb that couldn't deal with the prelinked
libraries. When i ran the newer gdb I was on another machine that had
some different libraries. However, running a newer gdb on A and B did
indeed give a readable backtrace even with prelinked libraries.
Thanx,
drago
On Wed, 2009-05-27 at 16:46 -0700, Paul Pluzhnikov wrote:
> 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,