[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Fix for relocatable PowerPC kernels
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: [PATCH] Fix for relocatable PowerPC kernels |
Date: |
Wed, 14 Jul 2010 14:27:01 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100620 Icedove/3.0.5 |
On 07/13/2010 12:12 PM, Anton Blanchard wrote:
> Hi,
>
>
>> Is building as ET_DYN supported upstream? We previously had reports of
>> building system of some distros to be plainly borked and usualy the
>> distro fixed their building system pretty fast. If upstream supports
>> ET_DYN, then this patch is accepted with no further questions. But if
>> it's a borked building system it may have subtle bugs and allowing it
>> would probably just suppress an early symptom of other problems.
>>
> This is supported upstream on a number of architectures, for example
> the PowerPC configuration option is:
>
>
Then I'm ok with your patch but I'm on wacky connection and don't want
to risk a stale lock (unfortunately bzr-ssh isn't supported on
savannah). Could someone with good access commit it?
> config RELOCATABLE
> bool "Build a relocatable kernel"
> help
> This builds a kernel image that is capable of running anywhere
> in the RMA (real memory area) at any 16k-aligned base address.
> The kernel is linked as a position-independent executable (PIE)
> and contains dynamic relocations which are processed early
> in the bootup process.
>
> One use is for the kexec on panic case where the recovery kernel
> must live at a different physical address than the primary
> kernel.
>
> Regards,
> Anton
>
>
>>> 2010-07-13 Anton Blanchard <address@hidden>
>>>
>>> * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
>>> ET_DYN files.
>>>
>>> Index: grub/loader/powerpc/ieee1275/linux.c
>>> ===================================================================
>>> --- grub.orig/loader/powerpc/ieee1275/linux.c 2010-07-11
>>> 12:05:16.443242734 +1000
>>> +++ grub/loader/powerpc/ieee1275/linux.c 2010-07-12 14:56:20.301991065
>>> +1000
>>> @@ -220,7 +220,7 @@ grub_cmd_linux (grub_command_t cmd __att
>>> if (! elf)
>>> goto out;
>>>
>>> - if (elf->ehdr.ehdr32.e_type != ET_EXEC)
>>> + if (elf->ehdr.ehdr32.e_type != ET_EXEC && elf->ehdr.ehdr32.e_type !=
>>> ET_DYN)
>>> {
>>> grub_error (GRUB_ERR_UNKNOWN_OS,
>>> "this ELF file is not of the right type");
>>>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel
>
>
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature