On Wed, May 29, 2019 at 11:20:56AM +0000, David Laight wrote: > From: Dmitry Vyukov > > Sent: 29 May 2019 11:57 > > Interesting. Does an address passed to bitops also should be aligned, > > or alignment is supposed to be handled by bitops themselves? > > The bitops are defined on 'long []' and it is expected to be aligned. > Any code that casts the argument is likely to be broken on big-endian. > I did a quick grep a few weeks ago and found some very dubious code. > Not all the casts seemed to be on code that was LE only (although > I didn't try to find out what the casts were from). > > The alignment trap on x86 could be avoided by only ever requesting 32bit > cycles - and assuming the buffer is always 32bit aligned (eg int []). > But on BE passing an 'int []' is just so wrong .... Right, but as argued elsewhere, I feel we should clean up the dubious code instead of enabling it.