--- gdb-7.0.50.20100121/gdb/solib-svr4.c-orig 2010-01-21 21:09:54.000000000 +0100 +++ gdb-7.0.50.20100121/gdb/solib-svr4.c 2010-01-21 21:10:01.000000000 +0100 @@ -596,7 +596,14 @@ scan_dyntag (int dyntag, bfd *abfd, CORE target_section++) if (sect == target_section->the_bfd_section) break; + /* FIXME: https://bugzilla.redhat.com/show_bug.cgi?id=556310 + It may crash here but it is not understood why. */ +#if 0 gdb_assert (target_section < current_target_sections->sections_end); +#else + if (target_section == current_target_sections->sections_end) + return 0; +#endif /* Read in .dynamic from the BFD. We will get the actual value from memory later. */