Subject: Re: Frequent SIGILL in today's -current
To: Nathan J. Williams <nathanw@wasabisystems.com>
From: Chuck Silvers <chuq@chuq.com>
List: port-macppc
Date: 08/07/2002 18:36:37
there were a couple changes today that should fix this:
I had a typo in userret.h that would cause corruption of FPU state,
and the recent PTE_EXEC changes don't seem to work on some non-G4 cpus.
the former is fixed and the latter is worked around until we can
finish the better version of the syncicache optimizations,
so hopefully that will take care of the recent random coredump problems.

-Chuck


On Wed, Aug 07, 2002 at 02:43:51PM -0400, Nathan J. Williams wrote:
> 
> I updated my iBook to 1.6E yesterday, with a fresh update, and lots of
> programs are randomly dying with SIGILL: find, make, mkdep, uname, cc,
> yacc, cmp, cvs. Clean libc, ld.elf_so, and so on. It seems to happen a
> bit more with my custom kernel config, but a GENERIC kernel does the
> same thing.
> 
> The core dump almost always looks like:
> 
> (gdb) # gdb cmp adosfs/cmp.core
> ...
> Core was generated by `cmp'.
> Program terminated with signal 4, Illegal instruction.
> #0  0x4181be00 in ?? ()
> (gdb) x/i $pc
> 0x4181be00:     blrl
> (gdb) p/x $lr
> $1 = 0x41823224
> 
> with various values for the address (0x4182be00, 0x4181be00,
> 0x418abe00... I see a pattern here), always blrl as the faulting
> instruction, and $lr as values like 0x41823224, 0x41813224... same
> upper 16 bits as the PC, but the low bits as 3224.
> 
> Ideas?
> 
> 	- Nathan