> On 9 sep. 2015, at 18:10, Michael Zimmermann <[email protected]> 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 <[email protected]> >> wrote: >> On 9 September 2015 at 17:26, Gao, Liming <[email protected]> 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:[email protected]] >> > Sent: Wednesday, September 9, 2015 3:22 PM >> > To: Yao, Jiewen >> > Cc: Gao, Liming; [email protected] >> > 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 >> > <[email protected]<mailto:[email protected]>> wrote: >> > OK >> > >> > -----Original Message----- >> > From: Gao, Liming >> > Sent: Tuesday, August 18, 2015 10:48 AM >> > To: Yao, Jiewen; Michael Zimmermann; >> > [email protected]<mailto:[email protected]> >> > 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; >> > [email protected]<mailto:[email protected]> >> > 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:[email protected]<mailto:[email protected]>] >> > On Behalf Of Gao, Liming >> > Sent: Tuesday, August 18, 2015 10:39 AM >> > To: Michael Zimmermann; >> > [email protected]<mailto:[email protected]> >> > 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:[email protected]<mailto:[email protected]>] >> > On Behalf Of Michael Zimmermann >> > Sent: Sunday, August 16, 2015 12:32 PM >> > To: [email protected]<mailto:[email protected]> >> > 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 >> > [email protected]<mailto:[email protected]> >> > https://lists.01.org/mailman/listinfo/edk2-devel >> > _______________________________________________ >> > edk2-devel mailing list >> > [email protected]<mailto:[email protected]> >> > https://lists.01.org/mailman/listinfo/edk2-devel >> > >> > _______________________________________________ >> > edk2-devel mailing list >> > [email protected] >> > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

