On 9 September 2015 at 17:33, 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. >
Forgot to paste the link: http://thread.gmane.org/gmane.comp.bios.edk2.devel/2037 >> 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