grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH, RFC, RFT] ARM relocation fixes


From: Leif Lindholm
Subject: Re: [PATCH, RFC, RFT] ARM relocation fixes
Date: Mon, 2 Dec 2013 11:58:02 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

*cough*

With actual attachment.

On Mon, Dec 02, 2013 at 11:53:31AM +0100, Leif Lindholm wrote:
> On Sun, Dec 01, 2013 at 07:06:32AM +0100, Vladimir 'φ-coder/phcoder' 
> Serbinenko wrote:
> > Current ARM relocation doesn't handle the cases when the relocation cant
> > be satisfied directly (like thumb call over 1M of distance or jump24 to
> > thumb mode. Attached patch adds missing tampoline and missing relocation
> > handling to EFI code (it didn't allow to use ARM (no-Thumb) binary with
> > EFI).
> > I couldn't test it on either arm-efi or ARM64
> 
> Amusingly, I wrote the attached on Saturday, based on a bug report
> from Jon Masters @ Red Hat. Although an unlikely corner case, it does
> probably need the addition of grub_arch_dl_get_tramp_got_size() from
> your implementation in order to ensure the "veneers"[1] don't end up
> in a heap region different to and too far away from the one the module
> is loaded into.
> 
> I'll have a look and a poke on both 32- and 64-bit stuff and respond..
> 
> I would say the modifications to grub-mkimage for arm64 are probably
> unnessecary: AArch64 relative branch range is +-128MB, and I don't
> think we'll see grub kernel images that big.
> 
> /
>     Leif
> 
> [1]
> ARM terminology - "trampolines" for ARM refers to something generated
> on the stack, which we don't see anymore since the nested functions were
> removed.

Attachment: 0001-arm64-dl-generate-veneers-for-out-of-range-relocatio.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]