Re: 386 'ls' gets SIGILL iff /proc is mounted

Brian Gerst (bgerst@didntduck.org)
Wed, 28 Mar 2001 13:14:52 -0500


Eric Buddington wrote:
>
> On Tue, Mar 27, 2001 at 09:22:19AM -0500, Brian Gerst wrote:
> > Try running ls under gdb and find out what instruction is causing SIGILL
> > (illegal opcode). It is possible that it was compiled to use
> > instructions available only on later processors, or it could potentially
> > be a bug in the math emulation code.
>
> OK. Context again (since I clipped preceding notes): 386SX/20 nfsroot,
> getting SIGILL on lots of processes, math emulation is enabled, ls and
> glibc were compiled with '-march=i386 -mcpu=i386' to be sure.
>
> I include two gdb dumps below, one from ls, one from mount, both
> died with SIGILL. If these were indeed illegal instructions on 386,
> I'll take my woes to the glibc folks and stop bothering y'all.
>
> -Eric

> 0x401248b4 <compare_and_swap+16>: lock cmpxchg %edx,(%ecx)
> 0x40136764 <htonl+4>: bswap %eax

bswap isn't available until the 486 and cmpxchgb until the pentium.
Looks like you have a glibc compiled for a 486+.

--

Brian Gerst - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/