Download Latest Version gcc493-x86_06-27-2015.7z (10.9 MB)
Email in envelope

Get an email when there's a new version of EDK2 Developer Tools for Windows

Home / Patches / Link Time Optimization
Name Modified Size InfoDownloads / Week
Parent folder
readme.txt 2014-11-29 2.5 kB
stdarg-X64-Os_11-28-2014.patch 2014-11-29 4.8 kB
readme_11-02-2014.txt 2014-11-26 2.3 kB
edk2-gcc-lto_11-26-2014.patch 2014-11-26 50.5 kB
edk2-gcc-lto_11-06-2014.patch 2014-11-07 27.1 kB
Totals: 5 Items   87.1 kB 0
Here is an example of using edk2-gcc-lto_11-26-2014.patch to build
from Windows:

1) Download EDK2 (rev 16449) and then apply this patch.
2) Download the 11-04-2014 gcc 4.9.2 lto binaries from:
   http://sourceforge.net/projects/edk2developertoolsforwindows/files/Tool%20Chain%20Binaries/
3) If your project needs nasm.exe, download it to a directory named nasm211.
   If your project needs iasl.exe, download it to a directory named ASL. 
   Put these items in a directory like this:

      +---edk2
      \---tools
          +---ASL
          +---gcc492lto-aarch64
          +---gcc492lto-arm
          +---gcc492lto-x86
          +---nasm211

5) Start a cmd.exe prompt and CD to the directory containing edk2 and tools.
Clean any non-svn files from edk2/Conf. Paste in these commands:

   set UEFI_BUILD_TOOLS=%cd%\tools
   set NASM_PREFIX=%UEFI_BUILD_TOOLS%\nasm211\
   set IASL_PREFIX=%UEFI_BUILD_TOOLS%\ASL\

   set GCC49_BIN=%UEFI_BUILD_TOOLS%\gcc492lto-x86\bin\
   set GCC49_DLL=%UEFI_BUILD_TOOLS%\gcc492lto-x86\dll\;%GCC49_BIN%
   set GCC49_AARCH64_PREFIX=%UEFI_BUILD_TOOLS%\gcc492lto-aarch64\bin\
   set GCC49_ARM_PREFIX=%UEFI_BUILD_TOOLS%\gcc492lto-arm\bin\

   set GCC49_X64_EXTRA_CC_FLAGS=-Wno-error
   set GCC49_IA32_EXTRA_CC_FLAGS=-Wno-error
   set GCC49_AARCH64_EXTRA_CC_FLAGS=-Wno-error
   set GCC49_ARM_EXTRA_CC_FLAGS=-Wno-error

   cd edk2
   call Edk2Setup.bat

   build.exe -p ShellPkg\ShellPkg.dsc -b RELEASE -t GCC49 -n 8 -a IA32
   build.exe -p ShellPkg\ShellPkg.dsc -b RELEASE -t GCC49 -n 8 -a X64
   build.exe -p ShellPkg\ShellPkg.dsc -b RELEASE -t GCC49 -n 8 -a AARCH64
   build.exe -p ShellPkg\ShellPkg.dsc -b RELEASE -t GCC49 -n 8 -a ARM

The result should be a successful build of all 4 shell projects. Tested
with EDK2 SVN rev 16449 (11/26/2014).

Now try a boot test using Duet and AMD simnow:
http://notabs.org/uefi/Edk2DuetBoot.htm

You will find Duet IA32 built using edk2-gcc-lto_11-26-2014.patch works
properly. But the X64 build has problems. It may crash during boot, or
lack video output otherwise. The reason is the -Os the patch adds to
the X64 build exposes a limitation with the VA_LIST setup. To solve
that problem, apply patch stdarg-X64-Os_11-28-2014.patch. With this,
the Duet X64 build might pass the boot test. If it does not, you will
have to apply duet-print-fix.patch. Duet-print-fix.patch should be 
committed to SVN soon and this step will no longer be needed.
Source: readme.txt, updated 2014-11-29