| Name | Modified | Size | Downloads / 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.