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: [patch, testsuite] gdb.base/savedregs.exp: SIGSEGV -> SIGILL


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


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