[OE-core] [PATCH 2/2] grub-efi: allow compilation without large model support

Darren Hart dvhart at linux.intel.com
Fri Nov 22 05:04:40 UTC 2013


On Fri, 2013-11-22 at 11:37 +0800, jhuang0 wrote:
> 
> On 11/22/2013 10:49 AM, Darren Hart wrote:
> > On Wed, 2013-11-20 at 09:40 +0800, jackie.huang at windriver.com wrote:
> >> From: Jackie Huang <jackie.huang at windriver.com>
> >>
> >> -mcmodel=large is not supported by gcc with version lower
> >> than 4.4, but we don't need to use memory over 4GiB, so add
> >> a patch to allow compilation without large model support.
> >>
> >> Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
> >> ---
> >>   ...allow-a-compilation-without-mcmodel-large.patch | 69 ++++++++++++++++++++++
> >>   meta/recipes-bsp/grub/grub-efi_2.00.bb             |  1 +
> >>   2 files changed, 70 insertions(+)
> >>   create mode 100644 meta/recipes-bsp/grub/files/grub-efi-allow-a-compilation-without-mcmodel-large.patch
> >>
> >> diff --git a/meta/recipes-bsp/grub/files/grub-efi-allow-a-compilation-without-mcmodel-large.patch b/meta/recipes-bsp/grub/files/grub-efi-allow-a-compilation-without-mcmodel-large.patch
> >> new file mode 100644
> >> index 0000000..b2be74a
> >> --- /dev/null
> >> +++ b/meta/recipes-bsp/grub/files/grub-efi-allow-a-compilation-without-mcmodel-large.patch
> >> @@ -0,0 +1,69 @@
> >> +From 0cea0e4266214da1f11e812834f5d5c47a6e04e6 Mon Sep 17 00:00:00 2001
> >> +From: Jackie Huang <jackie.huang at windriver.com>
> >> +Date: Tue, 5 Nov 2013 07:23:32 -0500
> >> +Subject: [PATCH] Allow a compilation without -mcmodel=large
> >> +
> >> +* kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
> >> +  when compiled without -mcmodel=large
> >> +  (filter_memory_map): remove memory post 4 GiB when compiled
> >> +  without -mcmodel=large
> >> +* configure.ac: add -DMCMODEL_SMALL=1 to TARGET_CFLAGS when
> >> +  -mcmodel=large isn't supported
> >> +
> >> +Upstream-Status: Inappropriate [configuration]
> >
> > Nice try ;-) This is compatibility, not configuration. If grub-efi
> > maintainers refuse to accept the patch that's up to them, but we need to
> 
> Actually it's ported from old version of grub which means that they 
> allowed the comilation without large model support before, but not now. 
>  From the Changelog, it was added in 2009:
> 
> 2009-06-04  Vladimir Serbinenko  <phcoder at gmail.com>
> 
>          Allow a compilation without -mcmodel=large
> 
>          * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
>          when compiled without -mcmodel=large
>          (filter_memory_map): remove memory post 4 GiB when compiled
>          without -mcmodel=large
>          * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
>          TARGET_CFLAGS when -mcmodel=large isn't supported
> 
> but it was removed in 2010:
> 2010-04-21  Vladimir Serbinenko  <phcoder at gmail.com>
> 
>          * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
>          is not supported.
> 
> So I think they may not accept this patch again.

It does appear to be a deliverate removale, fortunatley, you know
exactly who to Cc on the list now :-) It's worth shooting it off to the
list to see what they say. Either way, it is definitely not a
configuration patch.

--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel





More information about the Openembedded-core mailing list