[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 4 May 2016 21:20:32 -0400
From: Jeffrey Walton <noloader@...il.com>
To: Andi Kleen <andi@...stfloor.org>
Cc: John Denker <jsd@...n.com>, "H. Peter Anvin" <hpa@...or.com>,
"Theodore Ts'o" <tytso@....edu>, linux-kernel@...r.kernel.org,
Stephan Mueller <smueller@...onox.de>,
Herbert Xu <herbert@...dor.apana.org.au>,
Sandy Harris <sandyinchina@...il.com>,
cryptography@...edaemon.net, linux-crypto@...r.kernel.org
Subject: Re: linux/bitops.h
On Wed, May 4, 2016 at 7:06 PM, Andi Kleen <andi@...stfloor.org> wrote:
> On Wed, May 04, 2016 at 03:06:04PM -0700, John Denker wrote:
>> On 05/04/2016 02:56 PM, H. Peter Anvin wrote:
>> >> Beware that shifting by an amount >= the number of bits in the
>> >> word remains Undefined Behavior.
>>
>> > This construct has been supported as a rotate since at least gcc2.
>>
>> How then should we understand the story told in commit d7e35dfa?
>> Is the story wrong?
>
> I don't think Linux runs on a system where it would make a difference
> (like a VAX), and also gcc always converts it before it could.
> Even UBSan should not complain because it runs after the conversion
> to ROTATE.
>
>From what I understand, its a limitation in the barrel shifter and the
way the shift bits are handled.
Linux runs on a great number of devices, so its conceivable (likely?)
a low-cost board would have hardware limitations that not found in
modern desktops and servers or VAX.
Jeff
Powered by blists - more mailing lists