* "maint print registers" crash
@ 2007-06-20 19:47 Daniel Jacobowitz
2007-06-20 20:26 ` Ulrich Weigand
0 siblings, 1 reply; 4+ messages in thread
From: Daniel Jacobowitz @ 2007-06-20 19:47 UTC (permalink / raw)
To: gdb-patches, Ulrich Weigand
Hi Ulrich,
I used to be able to start GDB and print out the current register
layout without needing a target, by "maint print registers". Now that
crashes GDB, because current_regcache is NULL. What do you think -
refuse to dump values and use the gdbarch_descr in that case?
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: "maint print registers" crash
2007-06-20 19:47 "maint print registers" crash Daniel Jacobowitz
@ 2007-06-20 20:26 ` Ulrich Weigand
2007-06-20 20:34 ` Daniel Jacobowitz
0 siblings, 1 reply; 4+ messages in thread
From: Ulrich Weigand @ 2007-06-20 20:26 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: gdb-patches
Daniel Jacobowitz wrote:
> I used to be able to start GDB and print out the current register
> layout without needing a target, by "maint print registers". Now that
> crashes GDB, because current_regcache is NULL. What do you think -
> refuse to dump values and use the gdbarch_descr in that case?
Ah, that usage of current_regcache is a bug anyway; I must have
overlooked it. current_regcache can now be NULL at other times
as well (always after registers_changed () for example); no code
should simply use that variable any more.
The following patch changes it to use get_current_regcache ()
instead, which currently always succeeds allocating a register
cache (even if we don't have an inferior yet).
That gets "maint print registers" immediately after startup
working for me. Does this solve your problem?
Bye,
Ulrich
ChangeLog:
* regcache.c (regcache_print): Use get_current_regcache ()
instead of current_regcache.
diff -urNp gdb-orig/gdb/regcache.c gdb-head/gdb/regcache.c
--- gdb-orig/gdb/regcache.c 2007-06-19 19:12:17.000000000 +0200
+++ gdb-head/gdb/regcache.c 2007-06-20 22:17:39.205744658 +0200
@@ -1114,13 +1114,13 @@ static void
regcache_print (char *args, enum regcache_dump_what what_to_dump)
{
if (args == NULL)
- regcache_dump (current_regcache, gdb_stdout, what_to_dump);
+ regcache_dump (get_current_regcache (), gdb_stdout, what_to_dump);
else
{
struct ui_file *file = gdb_fopen (args, "w");
if (file == NULL)
perror_with_name (_("maintenance print architecture"));
- regcache_dump (current_regcache, file, what_to_dump);
+ regcache_dump (get_current_regcache (), file, what_to_dump);
ui_file_delete (file);
}
}
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: "maint print registers" crash
2007-06-20 20:26 ` Ulrich Weigand
@ 2007-06-20 20:34 ` Daniel Jacobowitz
2007-06-20 20:52 ` Ulrich Weigand
0 siblings, 1 reply; 4+ messages in thread
From: Daniel Jacobowitz @ 2007-06-20 20:34 UTC (permalink / raw)
To: Ulrich Weigand; +Cc: gdb-patches
On Wed, Jun 20, 2007 at 10:26:29PM +0200, Ulrich Weigand wrote:
> Daniel Jacobowitz wrote:
> > I used to be able to start GDB and print out the current register
> > layout without needing a target, by "maint print registers". Now that
> > crashes GDB, because current_regcache is NULL. What do you think -
> > refuse to dump values and use the gdbarch_descr in that case?
>
> Ah, that usage of current_regcache is a bug anyway; I must have
> overlooked it. current_regcache can now be NULL at other times
> as well (always after registers_changed () for example); no code
> should simply use that variable any more.
>
> The following patch changes it to use get_current_regcache ()
> instead, which currently always succeeds allocating a register
> cache (even if we don't have an inferior yet).
>
> That gets "maint print registers" immediately after startup
> working for me. Does this solve your problem?
Yes, this works great - thanks!
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: "maint print registers" crash
2007-06-20 20:34 ` Daniel Jacobowitz
@ 2007-06-20 20:52 ` Ulrich Weigand
0 siblings, 0 replies; 4+ messages in thread
From: Ulrich Weigand @ 2007-06-20 20:52 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: gdb-patches
Daniel Jacobowitz wrote:
> On Wed, Jun 20, 2007 at 10:26:29PM +0200, Ulrich Weigand wrote:
> > That gets "maint print registers" immediately after startup
> > working for me. Does this solve your problem?
>
> Yes, this works great - thanks!
OK, I've checked this is.
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-06-20 20:52 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-20 19:47 "maint print registers" crash Daniel Jacobowitz
2007-06-20 20:26 ` Ulrich Weigand
2007-06-20 20:34 ` Daniel Jacobowitz
2007-06-20 20:52 ` Ulrich Weigand
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox