From: bbahnsen Date: Sun, 7 Jan 2007 20:05:59 +0000 (+0000) Subject: Add information on gcc and EdkUnixPkg. X-Git-Tag: edk2-stable201903~23690 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=c9b1cad8e65cbd2d0c088d009bb94f0eb945535a;ds=sidebyside Add information on gcc and EdkUnixPkg. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2187 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/BuildNotes.txt b/BuildNotes.txt index 1d859376a8..ca9473d71a 100644 --- a/BuildNotes.txt +++ b/BuildNotes.txt @@ -21,6 +21,8 @@ Package Contents EdkFatBinPkg - Binary DXE drivers for the Fat 32 file system EdkShellBinPkg - Binary Shell applications and commands EdkNt32Pkg - NT32 Emulation platform reference + EdkUnixPkg - Posix/Unix Emulation platform reference (Currently this + builds only on ia32 Linux, but is meant to be portable.) Note: MDE and MDK that appear in other documentation refer to the MdePkg and Tools packages, respectively. While, these two packages are the minimum @@ -213,10 +215,10 @@ Cygwin, Linux, and many other POSIX-compliant host operating environments. To compile the custom gcc tool chain, you need the following tools on your host computer: bash, gcc, gmake, curl (or wget). -Only the MdePkg and EdkModulePkg are currently supported by gcc builds. Other -builds, such as the EdkNt32Pkg, will not compile with gcc. By default, the edk2 -will try to build the NT32.fpd, which is not supported by gcc. So, you need to -change the Tools/Conf/target.txt. +Only the MdePkg, EdkModulePkg and EdkUnixPkg are currently supported by gcc +builds. Other builds, such as the EdkNt32Pkg, will not compile with gcc. By +default, the edk2 will try to build the NT32.fpd, which is not supported by +gcc. So, you need to change the Tools/Conf/target.txt. The cross-compile build script has been tested on Cygwin, OS X and Linux. You should expect to hack on these scripts to make them work on your system. You @@ -318,8 +320,37 @@ not support the EFIAPI calling convention the x64 tools do not support generatin PE32+ image. The EFIAPI calling convention is very similar to the Microsoft x64 calling convention. +We have added prelinary support for the MinGW64 Tool chain. This gcc tool +chain is ported to follow the Microsft X64 ABI, and therefore is compatible +with the EFI specification. + On Itanium?Processors the gcc compiler does not support generating a PE32+ image. +---------------------------------------- +A Word on EdkUnixPkg -- The Unix simulator +---------------------------------------- + +A unix port of the Nt32 simulator has been added to the project. It currently +builds and runs on 32 bit Linux, but should be portable to other Unix +variants. In order to build it, you should use the ELFGCC tool chain defintion +in tools_def.txt, which is set in target.txt. These are two settings to make +in Tools/Conf/target.txt: + +ACTIVE_PLATFORM = EdkUnixPkg/Unix.fpd +TOOL_CHAIN_TAG = ELFGCC + +Once that is setup, type build, and then you will end up with the simulator in +Build/Unix/DEBUG_ELFGCC/IA32/SecMain.exe. + +In order to use the gdb debugger with the simulator, you may need to load the +correct symbol file for the various modules that are loaded. For example, + +add-symbol-file EdkModulePkg/Bus/Pci/PciBus/Dxe/PciBus/DEBUG/./PciBus.dll +0x45dc6000 + +You can see the names of the symbol files (they are in ELF format even though +the extension is .dll) printed on the screen as the simulator comes up. + ----------------------- Notes on Documentation ----------------------- @@ -687,4 +718,4 @@ Of particular note: Virus scanned by McAfee VirusScan Enterprise 8.0.0, Virus Definitions 4890, no virus detected. -vim:tw=78:ts=2:fo=qa:com=fb\:- :ai +vim:tw=78:ts=2:com=fb\:- :ai