2011-04-20 Pedro Alves <pedro@codesourcery.com>
gdb/ * regcache.c (get_thread_arch_regcache): If creating a regcache for null_ptid, assume and allow a NULL address space, instead of asking the target for the ptid's address space. * infrun.c (ptid_is_pid): Remove assertion. gdb/testsuite/ * gdb.base/maint.exp: Test that "maint print registers" works without a running program.
This commit is contained in:
parent
15be625dff
commit
b78974c3b4
|
@ -1,3 +1,10 @@
|
|||
2011-04-20 Pedro Alves <pedro@codesourcery.com>
|
||||
|
||||
* regcache.c (get_thread_arch_regcache): If creating a regcache for
|
||||
null_ptid, assume and allow a NULL address space, instead of
|
||||
asking the target for the ptid's address space.
|
||||
* infrun.c (ptid_is_pid): Remove assertion.
|
||||
|
||||
2011-04-19 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* windows-tdep.c (windows_xfer_shared_library):
|
||||
|
|
|
@ -6696,11 +6696,6 @@ ptid_is_pid (ptid_t ptid)
|
|||
int
|
||||
ptid_match (ptid_t ptid, ptid_t filter)
|
||||
{
|
||||
/* Since both parameters have the same type, prevent easy mistakes
|
||||
from happening. */
|
||||
gdb_assert (!ptid_equal (ptid, minus_one_ptid)
|
||||
&& !ptid_equal (ptid, null_ptid));
|
||||
|
||||
if (ptid_equal (filter, minus_one_ptid))
|
||||
return 1;
|
||||
if (ptid_is_pid (filter)
|
||||
|
|
|
@ -453,16 +453,25 @@ get_thread_arch_regcache (ptid_t ptid, struct gdbarch *gdbarch)
|
|||
{
|
||||
struct regcache_list *list;
|
||||
struct regcache *new_regcache;
|
||||
struct address_space *aspace;
|
||||
|
||||
for (list = current_regcache; list; list = list->next)
|
||||
if (ptid_equal (list->regcache->ptid, ptid)
|
||||
&& get_regcache_arch (list->regcache) == gdbarch)
|
||||
return list->regcache;
|
||||
|
||||
new_regcache = regcache_xmalloc_1 (gdbarch,
|
||||
target_thread_address_space (ptid), 0);
|
||||
/* For the benefit of "maint print registers" & co when debugging an
|
||||
executable, allow dumping the regcache even when there is no
|
||||
thread selected (target_thread_address_space internal-errors if
|
||||
no address space is found). Note that normal user commands will
|
||||
fail higher up on the call stack due to no
|
||||
target_has_registers. */
|
||||
aspace = (ptid_equal (null_ptid, ptid)
|
||||
? NULL
|
||||
: target_thread_address_space (ptid));
|
||||
|
||||
new_regcache = regcache_xmalloc_1 (gdbarch, aspace, 0);
|
||||
new_regcache->ptid = ptid;
|
||||
gdb_assert (new_regcache->aspace != NULL);
|
||||
|
||||
list = xmalloc (sizeof (struct regcache_list));
|
||||
list->regcache = new_regcache;
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
2011-04-20 Pedro Alves <pedro@codesourcery.com>
|
||||
|
||||
* gdb.base/maint.exp: Test that "maint print registers" works
|
||||
without a running program.
|
||||
|
||||
2011-04-20 Marek Polacek <mpolacek@redhat.com>
|
||||
|
||||
* gdb.base/setshow.exp: Fix racy tests.
|
||||
($old_gdb_prompt): New variable.
|
||||
|
||||
|
|
|
@ -54,10 +54,6 @@ if $tracelevel then {
|
|||
|
||||
global usestubs
|
||||
|
||||
#
|
||||
# test running programs
|
||||
#
|
||||
|
||||
set testfile "break"
|
||||
set srcfile ${testfile}.c
|
||||
set srcfile1 ${testfile}1.c
|
||||
|
@ -82,6 +78,21 @@ if { [gdb_compile "${binfile}0.o ${binfile}1.o" "${binfile}" executable {debug
|
|||
gdb_exit
|
||||
gdb_start
|
||||
gdb_reinitialize_dir $srcdir/$subdir
|
||||
|
||||
# The commands we test here produce many lines of output; disable "press
|
||||
# <return> to continue" prompts.
|
||||
gdb_test_no_output "set height 0"
|
||||
|
||||
# Tests that require that no program is running
|
||||
|
||||
gdb_file_cmd ${binfile}
|
||||
|
||||
# Test for a regression where this command would internal-error if the
|
||||
# program wasn't running.
|
||||
gdb_test "maint print registers" "Name.*Nr.*Rel.*Offset.*Size.*Type.*"
|
||||
|
||||
# Tests that can or should be done with a running program
|
||||
|
||||
gdb_load ${binfile}
|
||||
|
||||
if ![runto_main] then {
|
||||
|
@ -89,11 +100,6 @@ if ![runto_main] then {
|
|||
}
|
||||
|
||||
|
||||
# The commands we test here produce many lines of output; disable "press
|
||||
# <return> to continue" prompts.
|
||||
gdb_test_no_output "set height 0"
|
||||
|
||||
|
||||
#
|
||||
# this command does not produce any output
|
||||
# unless there is some problem with the symtabs and psymtabs
|
||||
|
|
Loading…
Reference in New Issue