* linespec.c (symtab_from_filename): Also throw NOT_FOUND_ERROR if
	there are no symbols loaded, instead of throwing a generic error.
	(decode_variable): Likewise.

	gdb/testsuite/
	* gdb.base/pending.exp: Test pending breakpoints without symbols
	loaded.
This commit is contained in:
Pedro Alves 2008-08-20 11:47:57 +00:00
parent f1f6aadf8c
commit b96e292732
4 changed files with 46 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2008-08-20 Pedro Alves <pedro@codesourcery.com>
* linespec.c (symtab_from_filename): Also throw NOT_FOUND_ERROR if
there are no symbols loaded, instead of throwing a generic error.
(decode_variable): Likewise.
2008-08-20 Pedro Alves <pedro@codesourcery.com>
* objfiles.h (struct obj_section): Remove addr and endaddr fields.

View File

@ -1556,10 +1556,11 @@ symtab_from_filename (char **argptr, char *p, int is_quote_enclosed,
file_symtab = lookup_symtab (copy);
if (file_symtab == 0)
{
if (!have_full_symbols () && !have_partial_symbols ())
error (_("No symbol table is loaded. Use the \"file\" command."));
if (not_found_ptr)
*not_found_ptr = 1;
if (!have_full_symbols () && !have_partial_symbols ())
throw_error (NOT_FOUND_ERROR,
_("No symbol table is loaded. Use the \"file\" command."));
throw_error (NOT_FOUND_ERROR, _("No source file named %s."), copy);
}
@ -1760,12 +1761,14 @@ decode_variable (char *copy, int funfirstline, char ***canonical,
if (msymbol != NULL)
return minsym_found (funfirstline, msymbol);
if (!have_full_symbols () &&
!have_partial_symbols () && !have_minimal_symbols ())
error (_("No symbol table is loaded. Use the \"file\" command."));
if (not_found_ptr)
*not_found_ptr = 1;
if (!have_full_symbols ()
&& !have_partial_symbols ()
&& !have_minimal_symbols ())
throw_error (NOT_FOUND_ERROR,
_("No symbol table is loaded. Use the \"file\" command."));
throw_error (NOT_FOUND_ERROR, _("Function \"%s\" not defined."), copy);
}

View File

@ -1,3 +1,8 @@
2008-08-20 Pedro Alves <pedro@codesourcery.com>
* gdb.base/pending.exp: Test pending breakpoints without symbols
loaded.
2008-08-19 Vladimir Prus <vladimir@codesourcery.com>
* lib/mi-support.exp (mi_expect_stop): Produce

View File

@ -54,6 +54,32 @@ if { [gdb_compile_shlib $libsrc $lib_sl $lib_opts] != ""
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_test_multiple "break pendfunc1" "set pending breakpoint" {
-re ".*Make breakpoint pending.*y or \\\[n\\\]. $" {
gdb_test "y" "Breakpoint.*pendfunc1.*pending." "set pending breakpoint (without symbols)"
}
}
gdb_test "info break" \
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+breakpoint keep y.*PENDING.*pendfunc1.*" \
"single pending breakpoint info (without symbols)"
gdb_load ${binfile}
gdb_load_shlibs $lib_sl
set pendfunc1_loc [gdb_get_line_number "y = x + 4" ${libfile}.c]
gdb_test "run" \
".*Breakpoint.*pendfunc1.*at.*pendshr.c:$pendfunc1_loc.*y = x \\+ 4.*" \
"run to resolved breakpoint 1 (without symbols)"
# Restart with a fresh gdb.
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
gdb_load_shlibs $lib_sl