This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]