Baranee,
I see that error message if a PE/COFF image is stored in TE format or is XIP
PE/COFF image.
In general, modules of type DXE_RUNTIME_DRIVER are not expected to use TE or be
XIP.
Here is an example FDF file FFS rule for modules of type DXE_RUNTIME_DRIVER.
It uses PE32 (not TE) and it does not strip the relocations.
[Rule.Common.DXE_RUNTIME_DRIVER]
FILE DRIVER = $(NAMED_GUID) {
DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING="$(MODULE_NAME)" Optional
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
Are you using a different rule?
Mike
> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On
> Behalf Of Anbazhagan, Baraneedharan
> Sent: Tuesday, December 15, 2015 5:07 PM
> To: Kinney, Michael D <[email protected]>; Yao, Jiewen
> <[email protected]>; Laszlo Ersek <[email protected]>
> Cc: Hamel, Lee M <[email protected]>; Barlow, Dallas
> <[email protected]>; [email protected] <edk2-
> [email protected]>
> Subject: Re: [edk2] InsertImageRecord and Section Alignment
>
> Hi Mike,
> Am using the same build flag that you mentioned and getting the
> build error - 'Section-Alignment and File-Alignment do not match
> :<runtime module path>.ffs'
>
> [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
> MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
>
> Thanks,
> Baranee
>
> > -----Original Message-----
> > From: Kinney, Michael D [mailto:[email protected]]
> > Sent: Tuesday, December 15, 2015 6:57 PM
> > To: Anbazhagan, Baraneedharan <[email protected]>; Yao, Jiewen
> > <[email protected]>; Laszlo Ersek <[email protected]>;
> Kinney, Michael D
> > <[email protected]>
> > Cc: Hamel, Lee M <[email protected]>; Barlow, Dallas
> > <[email protected]>; [email protected] <edk2-
> [email protected]>
> > Subject: RE: [edk2] InsertImageRecord and Section Alignment
> >
> > Baranee,
> >
> > What build flags are you using?
> >
> > Most platforms can add the following in their DSC file to get
> this to work form
> > VS20xx tool chains.
> >
> > [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
> > MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
> >
> > Thanks,
> >
> > Mike
> >
> > > -----Original Message-----
> > > From: edk2-devel [mailto:[email protected]] On
> Behalf Of
> > > Anbazhagan, Baraneedharan
> > > Sent: Tuesday, December 15, 2015 8:31 AM
> > > To: Kinney, Michael D <[email protected]>; Yao,
> Jiewen
> > > <[email protected]>; Laszlo Ersek <[email protected]>
> > > Cc: Hamel, Lee M <[email protected]>; Barlow, Dallas
> > > <[email protected]>; [email protected] <edk2-
> > > [email protected]>
> > > Subject: Re: [edk2] InsertImageRecord and Section Alignment
> > >
> > > Hi,
> > > When I tried to enable section alignment in DSC for Runtime
> modules,
> > > am getting a build error that section alignment and file
> alignment
> > > doesn't match(GenFvInternalLib.c). Am using
> > > VS2012x86 build tools. Whether any other build flag needs to
> be set?
> > >
> > > - Baranee
> > >
> > > > -----Original Message-----
> > > > From: edk2-devel [mailto:[email protected]]
> On
> > > Behalf Of Kinney,
> > > > Michael D
> > > > Sent: Monday, December 07, 2015 8:23 PM
> > > > To: Yao, Jiewen; Laszlo Ersek; Kinney, Michael D
> > > > Cc: Hamel, Lee M; [email protected]
> > > > Subject: Re: [edk2] InsertImageRecord and Section
> Alignment
> > > >
> > > > Jiewen,
> > > >
> > > > I agree that is a good place to put the error message.
> > > >
> > > > Mike
> > > >
> > > > > -----Original Message-----
> > > > > From: Yao, Jiewen
> > > > > Sent: Sunday, December 6, 2015 7:06 PM
> > > > > To: Kinney, Michael D <[email protected]>;
> Laszlo
> > > Ersek
> > > > > <[email protected]>; Kinney, Michael D
> > > <[email protected]>
> > > > > Cc: Hamel, Lee M <[email protected]>; edk2-
> > > [email protected]
> > > > > <[email protected]>
> > > > > Subject: RE: [edk2] InsertImageRecord and Section
> Alignment
> > > > >
> > > > > Hi Mike
> > > > > I agree that we can change this from ERROR to WARNING,
> and
> > > only add 1 ERROR
> > > > message.
> > > > >
> > > > > However, the
> > > \MdeModulePkg\Universal\PropertiesTableAttributesDxe
> > > > > module is optional module, because a platform may use
> its
> > > own module to set
> > > > attributes for ACPINvs or reserved.
> > > > >
> > > > > How about we add error message when install this table
> in
> > > > DxeCore.InstallPropertiesTable().
> > > > > if ((mPropertiesTable.MemoryProtectionAttribute &
> > > > >
> > >
> EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_DATA)
> > > ==
> > > > 0) {
> > > > > DEBUG ((EFI_D_ERROR, "MemoryProtectionAttribute
> > > > NON_EXECUTABLE_PE_DATA not set\n")); <== New line
> > > > > return ;
> > > > > }
> > > > >
> > > > > Thank you
> > > > > Yao Jiewen
> > > > >
> > > > > -----Original Message-----
> > > > > From: edk2-devel [mailto:edk2-devel-
> [email protected]] On
> > > Behalf Of
> > > > > Kinney, Michael D
> > > > > Sent: Friday, December 04, 2015 8:27 AM
> > > > > To: Laszlo Ersek; Kinney, Michael D
> > > > > Cc: Hamel, Lee M; [email protected]
> > > > > Subject: Re: [edk2] InsertImageRecord and Section
> Alignment
> > > > >
> > > > > Laszlo,
> > > > >
> > > > > That is a good question. If a platform requires
> > > > >
> > >
> EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_DATA
> > > to
> > > > be set, then it is an error condition. That is why it is
> an
> > > error message and not a
> > > > warning message.
> > > > >
> > > > > We could consider changing this specific message to a
> > > warning, and add
> > > > > one error message from the
> > > > > \MdeModulePkg\Universal\PropertiesTableAttributesDxe
> module.
> > > That way, only
> > > > platforms that include this module will get an error
> message
> > > if any runtime modules
> > > > for not use 4KB aligned.
> > > > >
> > > > > Mike
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Laszlo Ersek [mailto:[email protected]]
> > > > > > Sent: Thursday, December 3, 2015 3:36 PM
> > > > > > To: Kinney, Michael D <[email protected]>
> > > > > > Cc: Hamel, Lee M <[email protected]>; edk2-
> > > [email protected]
> > > > > > <[email protected]>
> > > > > > Subject: Re: [edk2] InsertImageRecord and Section
> > > Alignment
> > > > > >
> > > > > > On 12/03/15 21:16, Kinney, Michael D wrote:
> > > > > > > Lee,
> > > > > > >
> > > > > > > It is a feature from UEFI Specification 2.5 -
> Section
> > > 4.6 -
> > > > > > > EFI_PROPERTIES_TABLE
> > > > > > >
> > > > > > > In order to set the
> > > > > > >
> > >
> EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_DATA
> > > > > > > bit, runtime drivers need to be built so their
> PE/COFF
> > > code and
> > > > > > > data sections do not share the same 4KB page.
> > > > > > >
> > > > > > > The log message you are seeing is not an error. It
> is a
> > > warning
> > > > > > > message that a runtime driver was loaded that does
> not
> > > meet the
> > > > > > > requirements to set this bit.
> > > > > >
> > > > > > Should the message be downgraded from EFI_D_ERROR to
> > > EFI_D_WARN
> > > > > > ("MdeModulePkg/Core/Dxe/Misc/PropertiesTable.c")?
> > > > > >
> > > > > > Thanks
> > > > > > Laszlo
> > > > > >
> > > > > > >
> > > > > > > Mike
> > > > > > >
> > > > > > >> -----Original Message-----
> > > > > > >> From: Hamel, Lee M
> > > > > > >> Sent: Thursday, December 3, 2015 11:19 AM
> > > > > > >> To: Kinney, Michael D <[email protected]>;
> > > > > > >> [email protected]
> > > > > > >> Subject: RE: InsertImageRecord and Section
> Alignment
> > > > > > >>
> > > > > > >> Thanks for the solution. Any idea why my code was
> fine
> > > before
> > > > > > >> and now it's not (the design change reason, not
> that
> > > > > > >> tools_def.txt changed)? I'm trying to understand
> why a
> > > change
> > > > > > >> was made that
> > > > > caused the problem.
> > > > > > >>
> > > > > > >> -----Original Message-----
> > > > > > >> From: Kinney, Michael D
> > > > > > >> Sent: Thursday, December 03, 2015 11:13 AM
> > > > > > >> To: Hamel, Lee M <[email protected]>;
> > > > > > >> [email protected]; Kinney, Michael D
> > > > > > >> <[email protected]>
> > > > > > >> Subject: RE: InsertImageRecord and Section
> Alignment
> > > > > > >>
> > > > > > >> Lee,
> > > > > > >>
> > > > > > >> You can fix this by adding the following to the DSC
> > > file to force modules of type
> > > > DXE_RUNTIME_DRIVER to use 4KB alignment.
> > > > > > >>
> > > > > > >> [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
> > > > > > >> MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
> > > > > > >>
> > > > > > >> Mike
> > > > > > >>
> > > > > > >>> -----Original Message-----
> > > > > > >>> From: edk2-devel [mailto:edk2-devel-
> > > [email protected]] On
> > > > > > >>> Behalf Of Hamel, Lee M
> > > > > > >>> Sent: Thursday, December 3, 2015 10:57 AM
> > > > > > >>> To: [email protected]
> > > > > > >>> Subject: [edk2] InsertImageRecord and Section
> > > Alignment
> > > > > > >>>
> > > > > > >>> I recently synced to a newer UDK 2015 and now get
> this
> > > serial output many
> > > > times for different images:
> > > > > > >>>
> > > > > > >>> !!!!!!!! InsertImageRecord - Section
> Alignment(0x20)
> > > is not 4K !!!!!!!!
> > > > > > >>> !!!!!!!! Image - <some
> > > > > > >>> path>\ReportStatusCodeRouterRuntimeDxe.pdb
> > > > > > >>>
> > > > > > >>> Has anyone seen this problem when syncing to UDK
> 2015?
> > > I am using Visual
> > > > Studio 2010 to build.
> > > > > > >>>
> > > > > > >>> _______________________________________________
> > > > > > >>> 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
> > > > _______________________________________________
> > > > 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
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel