Re: [patch, testsuite] gdb.base/savedregs.exp: SIGSEGV -> SIGILL

Pedro Alves
2011-06-09T11:41:37Z

On Thursday 09 June 2011 12:17:27, Mark Kettenis wrote:
> > Date: Thu, 09 Jun 2011 17:28:09 +0800
> > From: Yao Qi <yao@codesourcery.com>
> >
> > In current gdb.base/savedregs.exp, signal handler is installed for
> > signal SIGSEGV, and SIGSEGV is trigger by `*(char *)0 = 0;'. However,
> > on non-mmu uclinux system, writing to an address 0x0 doesn't trigger
> > SIGSEGV.
> >
> > In my patch, SIGILL is chosen to replace SIGSEGV. One assumption here
> > is that 0xffff is an invalid instruction on all ports.
>
> Please don't do this. You're changing the test significantly. And
> there is no guarantee that 0xffff is an invalid instruction. Heck
> most platforms don't even have 16-bit instructions.

If backtracing through 0 is important to this test (haven't looked),
and replacing the write to 0 by raise(SIGSEGV) won't cut it,
then you can use the same trick sigbpt.exp, signest.exp, signull.exp
use to skip the test on targets without an MMU.

--
Pedro Alves