OK -----Original Message----- From: Gao, Liming Sent: Tuesday, August 18, 2015 10:48 AM To: Yao, Jiewen; Michael Zimmermann; [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] 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]] On Behalf Of Gao, Liming Sent: Tuesday, August 18, 2015 10:39 AM To: Michael Zimmermann; [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]] On Behalf Of Michael Zimmermann Sent: Sunday, August 16, 2015 12:32 PM To: [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] 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

