yes, I tested it and it works.
I use Linaro's linux-gnueabi 4.9 toolchain from here:
http://releases.linaro.org/15.05/components/toolchain/binaries/arm-linux-gnueabi/

I've copied the manifest info so you don't have to download the toolchain:
http://pastebin.com/jvyPcMkz

On Wed, Sep 9, 2015 at 7:43 PM, Ard Biesheuvel <ard.biesheu...@linaro.org>
wrote:

> On 9 September 2015 at 18:49, Michael Zimmermann
> <sigmaepsilo...@gmail.com> wrote:
> > thx, the patches work just fine.(they apply and the runtime warnings are
> > gone).
>
> OK, great. May I take that as a tested-by? Which GCC version are you using
> btw?
>
> > if edk2 patches aren't that usable, how the maintainers test it? because
> > usually people don't post git links.
> >
> > On Wed, Sep 9, 2015 at 6:31 PM, Ard Biesheuvel <
> ard.biesheu...@linaro.org>
> > wrote:
> >>
> >> On 9 September 2015 at 18:21, Michael Zimmermann
> >> <sigmaepsilo...@gmail.com> wrote:
> >> > what I meant is that git am fails:
> >> > Applying: BaseTools/GenFw: remove ARM and RVCT references from ELF64
> >> > code
> >> > error: patch failed: BaseTools/Source/C/GenFw/Elf64Convert.c:360
> >> > error: BaseTools/Source/C/GenFw/Elf64Convert.c: patch does not apply
> >> > Patch failed at 0001 BaseTools/GenFw: remove ARM and RVCT references
> >> > from
> >> > ELF64 code
> >> > The copy of the patch that failed is found in:
> >> >
> >> >
> /media/Data/repositories/git/efidroid/uefi/edk2/.git/rebase-apply/patch
> >> > When you have resolved this problem, run "git am --continue".
> >> > If you prefer to skip this patch, run "git am --skip" instead.
> >> > To restore the original branch and stop patching, run "git am
> --abort".
> >> >
> >> > maybe I did sth. wrong?(I've never used a mailing list patch before).
> I
> >> > downloaded the mbox from gmane:
> >> > http://download.gmane.org/gmane.comp.bios.edk2.devel/2036/2037
> >> >
> >>
> >> No, it is just painful, with the CR/LF conversion etc
> >>
> >> What I usually do is
> >>
> >> $ cat |todos |git am
> >>
> >> and then paste it, followed by Ctrl-D. That will usually work, unless
> >> the patch adds or removes files.
> >>
> >> I pushed the patches here:
> >>
> >>
> https://git.linaro.org/people/ard.biesheuvel/uefi-next.git/shortlog/refs/heads/arm-memprot
> >>
> >> So after applying you need to
> >> - git clean -dxf BaseTools/ ; make -C BaseTools
> >> - rm Conf/tools_def.txt ; source edksetup.sh
> >>
> >> to make sure everything is up to date after the changes
> >>
> >> --
> >> Ard.
> >>
> >> > On Wed, Sep 9, 2015 at 6:17 PM, Ard Biesheuvel
> >> > <ard.biesheu...@linaro.org>
> >> > wrote:
> >> >>
> >> >>
> >> >>
> >> >> On 9 sep. 2015, at 18:10, Michael Zimmermann <
> sigmaepsilo...@gmail.com>
> >> >> wrote:
> >> >>
> >> >> Yes I'm using 32bit ARM :)
> >> >> thx for the patches - unfortunatelythe patches fail for me.
> >> >>
> >> >>
> >> >> Did you regenerate Conf/tools_def.txt  and rebuild the BaseTools/ ?
> >> >>
> >> >> On Wed, Sep 9, 2015 at 5:33 PM, Ard Biesheuvel
> >> >> <ard.biesheu...@linaro.org>
> >> >> wrote:
> >> >>>
> >> >>> On 9 September 2015 at 17:26, Gao, Liming <liming....@intel.com>
> >> >>> wrote:
> >> >>> > Michael:
> >> >>> >   Do you use the linker script BaseTools/Scripts/GccBase.lds and
> -z
> >> >>> > common-page-size=4096?
> >> >>> >
> >> >>>
> >> >>> Are you building for 32-bit ARM by any chance? That does not have
> this
> >> >>> feature wired up yet. I posted a v2 of my series that addresses this
> >> >>> yesterday.
> >> >>>
> >> >>>
> >> >>>
> >> >>> > From: Michael Zimmermann [mailto:sigmaepsilo...@gmail.com]
> >> >>> > Sent: Wednesday, September 9, 2015 3:22 PM
> >> >>> > To: Yao, Jiewen
> >> >>> > Cc: Gao, Liming; edk2-devel@lists.01.org
> >> >>> > Subject: Re: [edk2] Section Alignment of elf binaries compiled
> with
> >> >>> > GCC(Linux)
> >> >>> >
> >> >>> > Unfortunately I missed the replies but I debugged this problem
> >> >>> > further
> >> >>> > and the Problem is that GenFw set's the alignment based on
> >> >>> > "sh_addralign" in
> >> >>> > the Elf header.
> >> >>> >
> >> >>> > The 'common-page-size' flag doesn't change the value of this field
> >> >>> > though. what it does change is the Alignment value of the Program
> >> >>> > Headers:
> >> >>> > Program Headers:
> >> >>> >   Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz
> Flg
> >> >>> > Align
> >> >>> >   LOAD           0x010000 0x00000000 0x00000000 0x042f8 0x042f8 R
> E
> >> >>> > 0x10000
> >> >>> >   LOAD           0x0142f8 0x000142f8 0x000142f8 0x000d4 0x000f4 RW
> >> >>> > 0x10000
> >> >>> >   GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000
> RWE
> >> >>> > 0x10
> >> >>> > the section alignment still stays at 0/1/4.
> >> >>> >
> >> >>> > On Tue, Aug 18, 2015 at 4:49 AM, Yao, Jiewen
> >> >>> > <jiewen....@intel.com<mailto:jiewen....@intel.com>> wrote:
> >> >>> > OK
> >> >>> >
> >> >>> > -----Original Message-----
> >> >>> > From: Gao, Liming
> >> >>> > Sent: Tuesday, August 18, 2015 10:48 AM
> >> >>> > To: Yao, Jiewen; Michael Zimmermann;
> >> >>> > edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >> >>> > Subject: RE: [edk2] Section Alignment of elf binaries compiled
> with
> >> >>> > GCC(Linux)
> >> >>> >
> >> >>> > Jiewen:
> >> >>> >   The updated message is useful. I suggest to change error level
> >> >>> > from
> >> >>> > EFI_D_ERROR to EFI_D_INFO.
> >> >>> >
> >> >>> > Thanks
> >> >>> > Liming
> >> >>> > -----Original Message-----
> >> >>> > From: Yao, Jiewen
> >> >>> > Sent: Tuesday, August 18, 2015 10:46 AM
> >> >>> > To: Gao, Liming; Michael Zimmermann;
> >> >>> > edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >> >>> > Subject: RE: [edk2] Section Alignment of elf binaries compiled
> with
> >> >>> > GCC(Linux)
> >> >>> >
> >> >>> > Hi
> >> >>> > How about we update debug message like below:
> >> >>> >
> >> >>> > Index: PropertiesTable.c
> >> >>> >
> ===================================================================
> >> >>> > --- PropertiesTable.c   (revision 18191)
> >> >>> > +++ PropertiesTable.c   (working copy)
> >> >>> > @@ -1120,7 +1120,7 @@
> >> >>> >
> >> >>> >    SetPropertiesTableSectionAlignment (SectionAlignment);
> >> >>> >    if ((SectionAlignment &
> >> >>> > (EFI_ACPI_RUNTIME_PAGE_ALLOCATION_ALIGNMENT
> >> >>> > - 1)) != 0) {
> >> >>> > -    DEBUG ((EFI_D_ERROR, "!!!!!!!!  InsertImageRecord - Section
> >> >>> > Alignment(0x%x) is not %dK  !!!!!!!!\n",
> >> >>> > +    DEBUG ((EFI_D_ERROR, "!!!!!!!!  UEFI2.5 PropertiesTable -
> >> >>> > Runtime
> >> >>> > Driver Section Alignment(0x%x) is not %dK  !!!!!!!!\n",
> >> >>> >        SectionAlignment,
> EFI_ACPI_RUNTIME_PAGE_ALLOCATION_ALIGNMENT
> >> >>> > >>
> >> >>> > 10));
> >> >>> >      PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*) (UINTN)
> >> >>> > ImageAddress);
> >> >>> >      if (PdbPointer != NULL) {
> >> >>> >
> >> >>> >
> >> >>> >
> >> >>> >
> >> >>> > -----Original Message-----
> >> >>> > From: edk2-devel
> >> >>> >
> >> >>> > [mailto:edk2-devel-boun...@lists.01.org<mailto:
> edk2-devel-boun...@lists.01.org>]
> >> >>> > On Behalf Of Gao, Liming
> >> >>> > Sent: Tuesday, August 18, 2015 10:39 AM
> >> >>> > To: Michael Zimmermann;
> >> >>> > edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >> >>> > Subject: Re: [edk2] Section Alignment of elf binaries compiled
> with
> >> >>> > GCC(Linux)
> >> >>> >
> >> >>> > Hi,
> >> >>> >   This is a warning message that describes the runtime driver
> >> >>> > alignment
> >> >>> > is not 4K.
> >> >>> >
> >> >>> >   UEFI PropertiesTable table feature expects all runtime driver
> >> >>> > alignment is 4K. When DxeCore loads Runtime driver, it will check
> >> >>> > its
> >> >>> > alignment and report such warning message if it doesn't meet with
> >> >>> > the
> >> >>> > alignment. If you want to enable this feature, you need to make
> sure
> >> >>> > all
> >> >>> > runtime driver at 4K. If you don't enable it, you can just ignore
> >> >>> > this
> >> >>> > message.
> >> >>> >
> >> >>> >   To configure runtime driver with 4K alignment, you can modify
> DSC
> >> >>> > file to add the following section.
> >> >>> > [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
> >> >>> >   GCC:  *_*_*_DLINK_FLAGS = -z common-page-size=0x1000
> >> >>> >   MSFT: *_*_*_DLINK_FLAGS = /ALIGN:4096
> >> >>> >
> >> >>> > Thanks
> >> >>> > Liming
> >> >>> > -----Original Message-----
> >> >>> > From: edk2-devel
> >> >>> >
> >> >>> > [mailto:edk2-devel-boun...@lists.01.org<mailto:
> edk2-devel-boun...@lists.01.org>]
> >> >>> > On Behalf Of Michael Zimmermann
> >> >>> > Sent: Sunday, August 16, 2015 12:32 PM
> >> >>> > To: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >> >>> > Subject: [edk2] Section Alignment of elf binaries compiled with
> >> >>> > GCC(Linux)
> >> >>> >
> >> >>> > When booting(a new device I'm currently working on) I get these
> >> >>> > warnings:
> >> >>> > !!!!!!!!  InsertImageRecord - Section Alignment(0x20) is not 4K
> >> >>> > !!!!!!!!
> >> >>> >
> >> >>> > the warning is raised by
> >> >>> > "MdeModulePkg/Core/Dxe/Misc/PropertiesTable.c"
> >> >>> > and when compiling using GCC from Linux, the SectionAlignment is
> set
> >> >>> > by
> >> >>> > "BaseTools/Source/C/GenFw/Elf32Convert.c".
> >> >>> >
> >> >>> > I checked the resulting binaries using "readpe" and indeed they
> have
> >> >>> > a
> >> >>> > SectionAlignment of 0x20, while the precompiled binaries like
> >> >>> > Shell.efi have
> >> >>> > a Alignment of 0x1000(4K).
> >> >>> >
> >> >>> > So, is this a bug of my GCC compiler or of EDK2?
> >> >>> > _______________________________________________
> >> >>> > edk2-devel mailing list
> >> >>> > edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >> >>> > https://lists.01.org/mailman/listinfo/edk2-devel
> >> >>> > _______________________________________________
> >> >>> > edk2-devel mailing list
> >> >>> > edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >> >>> > https://lists.01.org/mailman/listinfo/edk2-devel
> >> >>> >
> >> >>> > _______________________________________________
> >> >>> > edk2-devel mailing list
> >> >>> > edk2-devel@lists.01.org
> >> >>> > https://lists.01.org/mailman/listinfo/edk2-devel
> >> >>
> >> >>
> >> >
> >
> >
>
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to