On Fri, Mar 17, 2023 at 04:01:58PM +0200, Ilias Apalodimas wrote: > Hi Heinrich, > > On Fri, Mar 17, 2023 at 02:56:02PM +0100, Heinrich Schuchardt wrote: > > On 3/17/23 14:42, Ilias Apalodimas wrote: > > > Heinrich reports that compiling with LTO & EFI breaks armv7 and arm11* > > > builds. The reason is that LTO (maybe a binutils bug?) replaces the > > > asm version of allow_unaligned() with the __weak definition of the > > > function. As a result EFI code ends up running with unaligned accesses > > > disabled and eventually crashes. > > > > > > So let's enable unaligned access for those architectures during > > > our start.S routines and avoid the linker issues. > > > > > > Reported-by: Heinrich Schuchardt <[email protected]> > > > > The problem was originally reported by Tom. My contribution was to track it > > down to missing enabling of unaligned access due to a linker problem. > > > > Ah thanks, I'll fix that in v2 > > [...] > > > > bic r0, r0, #0x00002300 @ clear bits 13, 9:8 (--V- --RS) > > > bic r0, r0, #0x00000087 @ clear bits 7, 2:0 (B--- -CAM) > > > +#if !CONFIG_IS_ENABLED(EFI_LOADER) > > > + /* allow unaligned accesses since EFI requires it */ > > > > This comment line is only reached without UEFI support. So here you should > > explain why we forbid unaligned access without UEFI. > > I am not sure I am following. I don't really remember why we had UA > disabled on armv7. Do you have any suggestions?
Poke around git blame here, there should be enough links to bring up what / why we do what we do :) -- Tom
signature.asc
Description: PGP signature

