On Fri, Dec 28, 2018 at 05:23:09PM +0300, Ivan Zakharyaschev wrote:
> Hi Bruno,
> 
> On Thu, 20 Dec 2018, Bruno Haible wrote:
> 
> > > +    # E2K (elbrus) systems send SIGILL on an access to an invalid 
> > > address.
> > 
> > This is a bug in the system. Access of an invalid address ought to produce a
> > SIGSEGV or SIGBUS.
> > 
> > 'elbrus' is not an important OS so far, for which it would be worth adding
> > workarounds in the gnulib source.
> > Is it still in development? -> If so, please fix that bug.
> > Or is it a museum system? -> If so, just bear with the test failure.
> 
> Of these descriptions, "system in development" is the one which suits 
> Linux/E2k better. The port to E2K (MCST Elbrus general purpose hardware 
> architecture) is quite mature, but not yet released publicly.
> 
> As for the SIGILL peculiarity, it has a reason in the Elbrus architecture. 
> AFAIU, a different protection mechanism comes into play here. It is based 
> on tagging values/memory: if an attempt is made to use a value in a way 
> which contradicts its tag, then the "illegal operand" condition arises. 
> Namely, a "load" instruction can expect a certain tag, and then there can 
> be a mismatch between the assumptions of the code and the actual value 
> and its tag.

No, this particular case (++*argv[argc]) has nothing to do with tagged memory,
I hope Ivan will share his findings here.


-- 
ldv

Attachment: signature.asc
Description: PGP signature

Reply via email to