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 06/09/2011 07:17 PM, 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

I don't think the test is changed *significantly*.  The purpose of
writing to zero, at least in this case, is to trigger a signal, and
check the register in signal trampoline frame.  Either SIGSEGV or SIGILL
meets this need.

> there is no guarantee that 0xffff is an invalid instruction.  Heck
> most platforms don't even have 16-bit instructions.

It is possible to find a `common' invalid instruction over all ports,
even 0xffff may not be.

-- 
Yao (éå)


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