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