This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] Fix dangling displays in separate debug
On Friday 09 April 2010 21:00:46, Jan Kratochvil wrote:
> On Fri, 09 Apr 2010 18:47:50 +0200, Pedro Alves wrote:
> > and `solib->objfile'
> > (because GDB didn't find any symbols for the shared library) be NULL,
>
> I was convinced due to some invalid reasons solib->objfile cannot be NULL.
There's an easy way to see that state:
(gdb) nosharedlibrary
(gdb) info sharedlibrary
This will not reload symbol info, thus you'll have
a bunch of solibs with objfile set to NULL.
[do `(gdb) sharedlibrary' to reload debug info].
> gdb/
> 2010-04-09 Jan Kratochvil <jan.kratochvil@redhat.com>
> Tom Tromey <tromey@redhat.com>
> Pedro Alves <pedro@codesourcery.com>
>
> * printcmd.c (display_uses_solib_p): Check also
> SEPARATE_DEBUG_OBJFILE_BACKLINK. New variable symbol_objfile.
> * solist.h (struct so_list) <objfile>: New comment.
> * symtab.h (struct general_symbol_info) <obj_section>: Extend the
> comment.
This part is OK. Thanks for the new comments.
>
> gdb/testsuite/
> 2010-04-09 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> * gdb.base/solib-display.exp (split solib): New.
Doesn't this make it so that only the separate debug info
case is exercised, and, it stops exercising the non-separate
debug info case? I think we should instead be running the
relevant parts the test twice instead?
> --- a/gdb/testsuite/gdb.base/solib-display.exp
> +++ b/gdb/testsuite/gdb.base/solib-display.exp
> @@ -53,6 +53,13 @@ if { [gdb_compile_shlib ${srcfile_lib} ${binfile_lib} $lib_flags] != ""
> return -1
> }
>
> +set test "split solib"
> +if {[gdb_gnu_strip_debug $binfile_lib] != 0} {
> + fail $test
Not all systems support this, so this should
be `unsupported' instead. When you make the tests
run twice, this would skip the rest of the
rerunning.
> +} else {
> + pass $test
> +}
> +
> gdb_exit
> gdb_start
> gdb_reinitialize_dir $srcdir/$subdir
--
Pedro Alves