2.6 kernels don't have fixups defaulting to on.
And it's a lot more expensive.
Just because there is an expensive workaround doesn't mean it's not a bug. And arguably even with hardware fixup it's still a bug and appallingly bad practice.
Let's not sweep this under the carpet, especially in something as critical as e2fsprogs.
Chris Tyler <chris(a)tylers.info> wrote:
>On Mon, 2012-07-09 at 16:23 +0100, Gordan Bobic wrote:
>> This issue also affects SPARC and Itanium, IIRC, likely a lot of others,
>> too. It's only x86 and ARMv7+ that have transparent automatic alignment
>> fixup in hardware.
>On ARM <v7, there are software fixups via trap, which is basically the
>same as the hardware fixups but with a lot higher cost. For quite a few
>kernel releases, fixups have defaulted to ON. Are we sure there's still
>an issue here?
The attached script is a very simple first stab at an assembly scanning
tool. We can use it to iterate over packages in the distro, looking for
anything that uses inline or dedicated assembly files. Examples too.
I was frankly surprised that bash had such "optimizations" :)
Shall we try the following (untested as yet) patch to prelink?
Note that the prelink ARM specific code thinks the base architecture
linker is /lib/ld-linux.so.3 and has done for a while, but I think this
will still work because the test that is needed is to ensure we're not
trying to relink the linker. Can we try this patch and see what happens
(perhaps we should setup a new build root to test, or just jump in)?