Thanks for your reply Jordan
On Fri, Sep 13, 2013 at 12:39 PM, Jordan Justen <jljus...@gmail.com> wrote:
> On Thu, Sep 12, 2013 at 12:18 AM, galla rao <gallagnv....@gmail.com>
> wrote:
> > Dear All,
> >
> > I ported a OptionRom Code from EDK to UDK and found my .efi output file
> has
> > increased from ~700k to ~1100k
> >
> > Building Code in UDK results in increase in Driver Size, is this how UDK
> is
> > designed?
> > Even the obj's have increased in size after compilation.
> >
> > Kindly Provide your inputs. Thank you All
> >
> > The libs i used from UDK
> >
> > BaseMemoryLib
> > UefiDriverEntryPoint
> > HiiLib
> >
> >
> > Certain older EDK calls are replaced with newer UDK calls
> > EfiLibAllocateZeroPoolè AllocateZeroPool; EfiZeroMemèZeroMem;
> > EfiCopyMemèCopyMem; EfiSetMemèSetMem; EfiLibLookupUnicodeStringè
> > LookupUnicodeString; SprintèUnicodeSprint
> >
> > Introduced
> > HiiAllocateOpCodeHandle, HiiCreateCheckBoxOpCode, HiiCreateTextOpCode,
> > HiiCreateOneOfOptionOpCode, HiiUpdateForm, HiiCreateGuidOpCode
> > Inplace of CreateOneOfOpCode, IfrLibUpdateForm, EFI_HII_UPDATE_DATA
> >
> > Compiler Flags
> > MSFT:*_*_X64_CC_FLAGS = /nologo /c /WX- /GS- /X /W3 /Gs8192 /D
> /Zc:wchar_t-
> > /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF
> >
> > Linker flags
> > RELEASE_VS2010x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001
> > /IGNORE:4254 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D
> > /Machine:X64 /DLL /ENTRY:$(IMAGE_ENTRY_POINT)
> > /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /BASE:0 /DRIVER /MERGE:.data=.text
> > /MERGE:.rdata=.text
>
> Did you actually change the CC/LINK flags? I don't think that is
> commonly needed for achieving good sizes.
>
> I think the RELEASE flags in the standard tools_def should work pretty
> well ... except one thing ... :)
>
> ... DebugLib can add a lot of size. Something like this in your .dsc
> might help for release builds.
>
> [BuildOptions]
> GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
> INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
> MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
>
> Although, I thought MSVC usually did pretty good at removing dead code
> at link time. So, you might check your
> gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel and
> gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask settings in your .dsc.
>
> Also, you might also look at the LibraryClasses settings in your .dsc.
>
> -Jordan
>
>
> ------------------------------------------------------------------------------
> How ServiceNow helps IT people transform IT departments:
> 1. Consolidate legacy IT systems to a single system of record for IT
> 2. Standardize and globalize service processes across IT
> 3. Implement zero-touch automation to replace manual, redundant tasks
> http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13.
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel