grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] arm64: build with -mcmodel=large


From: Leif Lindholm
Subject: Re: [PATCH] arm64: build with -mcmodel=large
Date: Fri, 25 Dec 2015 18:18:55 +0000
User-agent: Mutt/1.5.23 (2014-03-12)

On Thu, Dec 24, 2015 at 04:20:29AM +0000, Colin Watson wrote:
> On Thu, Dec 24, 2015 at 04:14:20AM +0000, Colin Watson wrote:
> > This fixes a build failure with very current GCC versions, such as the one
> > in Ubuntu xenial.  Leif (or anyone with suitable arm64 systems), would you
> > mind testing that this doesn't break things?  I've tested that it builds
> > cleanly now, but I don't have a particularly convenient way to do any
> > run-time tests.
> 
> Never mind, I spoke too soon and withdraw this patch, since this doesn't
> actually fix the problem, which is:
> 
>   $ obj/grub-efi-arm64/grub-mkimage -O arm64-efi -o test.efi -d 
> obj/grub-efi-arm64/grub-core -p /boot/grub -v ext2
>   obj/grub-efi-arm64/grub-mkimage: info: the total module size is 0x37e8.

*snip*

>   obj/grub-efi-arm64/grub-mkimage: info: dealing with the relocation section 
> .rela.text for .text.
>   obj/grub-efi-arm64/grub-mkimage: error: relocation 0x113 is not implemented 
> yet.
> 
> Would anyone arm64-knowledgeable mind taking a look at this?

So, it seems this toolchain generates the HI21/LO12 relocation combo:
- R_AARCH64_ADR_PREL_PG_HI21/R_AARCH64_ADR_PREL_PG_HI21_NC
- R_AARCH64_LDST16_ABS_LO12_NC
- R_AARCH64_LDST32_ABS_LO12_NC
- R_AARCH64_LDST64_ABS_LO12_NC
- R_AARCH64_LDST128_ABS_LO12_NC

So I'll implement support for these.

With regards to your -mcmodel=large patch - that didn't change
anything because I already hardcoded that into
conf/Makefile.common. Your suggested patch is probably the better way
of doing it - so do consider pushing that anyway (dropping the
Makefile.common stanza at the same time).

/
    Leif



reply via email to

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