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

Attachment: signature.asc
Description: PGP signature

Reply via email to