This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [rfc] Fix info spu mailbox command
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: deuling at de dot ibm dot com (Markus Deuling)
- Cc: brobecker at adacore dot com (Joel Brobecker), gdb-patches at sourceware dot org (GDB Patches), drow at false dot org (Daniel Jacobowitz)
- Date: Wed, 19 Mar 2008 22:12:05 +0100 (CET)
- Subject: Re: [rfc] Fix info spu mailbox command
Markus Deuling wrote:
> Joel Brobecker schrieb:
> > After having looked at your previous patch, it looks like you probably
> > wanted to only xfail the test when the 0x number (mailbox number?) is
> > 0xc0000000, but anything else is an unexpected FAIL. Also, I don't think
> > you need the "default" block. So I think your test should look like this:
> >
> > gdb_test_multiple "info spu mailbox" "$msg" {
> > -re "SPU Outbound Mailbox.*0x00000000.*SPU Outbound Interrupt Mailbox.*0x00000000.*$gdb_prompt $" {
> > pass "$msg"
> > }
> > -re "SPU Outbound Mailbox.*0xc0000000.*SPU Outbound Interrupt Mailbox.*0xc0000000.*$gdb_prompt $" {
> > xfail "$msg"
> > }
> > }
> >
>
> Hm, yes and no. Maybe it was not a good idea from me to check for 0xc.... Before that kernel patch
> the data came from an uninitialised variable so it might have been 0xc... accidently.
> I haven't seen cases != 0xc but this does not mean that this can't happen.
>
> Only thing I can say for sure is that 0x00000000 should be the initial content. Everything else is
> XFAIL because of old kernel version.
I guess the best would be something like:
gdb_test_multiple "info spu mailbox" "$msg" {
-re "SPU Outbound Mailbox.*0x00000000.*SPU Outbound Interrupt Mailbox.*0x00000000.*$gdb_prompt $" {
pass "$msg"
}
# Older kernels had a bug that caused them to return arbitrary values when
# attempting to read from an empty mailbox via spufs.
-re "SPU Outbound Mailbox.*0x.*SPU Outbound Interrupt Mailbox.*0x.*$gdb_prompt $" {
xfail "$msg"
}
}
This does verify that GDB works as expected and prints the
proper message, but at the same time does not verify the
actual mailbox contents -- acknowledging that buggy kernels
may in fact return arbitrary values here.
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com