This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] Speed up find_pc_section
- From: Paul Pluzhnikov <ppluzhnikov at google dot com>
- To: Tom Tromey <tromey at redhat dot com>
- Cc: gdb-patches ml <gdb-patches at sourceware dot org>
- Date: Fri, 7 Aug 2009 15:29:00 -0700
- Subject: Re: [patch] Speed up find_pc_section
- References: <8ac60eac0907161724v40e5bd8bg7877d8901b8d7b6e@mail.gmail.com> <m33a87irq6.fsf@fleche.redhat.com> <8ac60eac0908040806g4f0495f6gc24ae4d6e440e7e6@mail.gmail.com> <m3zlaffv3h.fsf@fleche.redhat.com> <8ac60eac0908042358q4d2061d2md3c49cf4aab26398@mail.gmail.com> <m34osmi5jx.fsf@fleche.redhat.com> <8ac60eac0908050940we3dc478rd182f4367a650f1b@mail.gmail.com> <8ac60eac0908052259l7b1c21d1t212991886a5f8b18@mail.gmail.com> <m3eirofxwh.fsf@fleche.redhat.com> <8ac60eac0908070030g7500a5ack3fcc81862e2a5b0a@mail.gmail.com>
For those following the issue on the list ...
I was able to reproduce the failed assert on F11/i586, but only after the
system ran for a while.
On Fri, Aug 7, 2009 at 12:30 AM, Paul Pluzhnikov<ppluzhnikov@google.com> wrote:
> It looks like lack of prelink (freshly-installed system) is what
> prevented me from observing the crash:
>
> $ readelf -S /usr/lib/debug/usr/lib/libgcj.so.10.0.0.debug | grep .rel.dyn
> [ 7] .rel.dyn NOBITS 005e1c84 000138 4ee290 08 A 3 0 4
>
> $ readelf -S /usr/lib/libgcj.so.10.0.0 | grep rel.dyn
> [ 7] .rel.dyn RELA 415e1c84 5e1c84 7653d8 0c A 3 0 4
>
> My libgcj has been prelinked, and I now see the crash.
>
> Prelink changes .rel.dyn from REL to RELA, and that changes the section size!
>
> Running 'prelink -u /usr/lib/libgcj.so.10.0.0' makes the crash
> disappear, and re-prelinking makes it appear again.
> Here is what non-prelinked /usr/lib/libgcj.so.10.0.0 looks like:
> [ 7] .rel.dyn REL 005e1c84 5e1c84 4ee290 08 A 3 0 4
>
> I'll send a patch to fix this soon.
--
Paul Pluzhnikov