audk/EmulatorPkg
Anderw Fish 4880fc9ff7 EmulatorPkg: Unix: Add LLDB support for Xcode 5
Xcode5 retired gdb, so this patch adds support for using, and loading symbols
in, lldb. It also supports building with Xcode 5.

The lldb script also supports dumping out the build generated guid database
and it prints guids out with thier Cname if available. lldbefi.py also
contains some EFI specific type formatters. Symbols are loaded via the
lldbefi.py script setting a breakpoint on SecGdbScriptBreak() and runing a
breakpoint action Python function that uses the arguments to
SecGdbScriptBreak() to load symbols.

The location of SecGdbScriptBreak() in Host.c was updated to move symbol
loading control into the lldb Python script, since lldb only uses the
arguments to SecGdbScriptBreak() and not the files generated by the
emulator. The +1 on the SecGdbScriptBreak() argument makes it string size,
not string length, as this is what the lldb script is looking for.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anderw Fish <afish@apple.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15982 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-29 18:52:42 +00:00
..
AutoScanPei
BootModePei
CpuRuntimeDxe EmulatorPkg/Mpservice: Add StateLock where missing 2014-07-31 15:45:27 +00:00
EmuBlockIoDxe
EmuBusDriverDxe
EmuGopDxe Fix comparisons of enumerated types which may cause warnings for some compilers. 2012-08-28 06:48:28 +00:00
EmuSimpleFileSystemDxe EmulatorPkg/EmuSimpleFileSystemDxe: Fix incorrect return values upon allocation failure 2014-07-03 20:05:22 +00:00
EmuSnpDxe
EmuThunkDxe
FirmwareVolumePei
FlashMapPei
FvbServicesRuntimeDxe Add Missing invocations to VA_END() for VA_START(). 2012-02-01 06:06:08 +00:00
Include Fix case sensativity issues. 2012-02-01 07:06:12 +00:00
Library EmulatorPkg: Add structure braces { } to fix build warning 2014-07-04 20:50:41 +00:00
MiscSubClassPlatformDxe Append double-null for Type 19 data record. 2012-02-03 07:48:57 +00:00
PlatformSmbiosDxe EmulatorPkg: Add structure braces { } to fix build warning 2014-07-04 20:50:41 +00:00
RealTimeClockRuntimeDxe
ResetRuntimeDxe
Sec EmulatorPkg: Fix Visual Studio build for IA32 & X64 2012-08-15 00:03:25 +00:00
ThunkPpiToProtocolPei
TimerDxe EmulatorPkg: Fix Visual Studio build for IA32 & X64 2012-08-15 00:03:25 +00:00
Unix EmulatorPkg: Unix: Add LLDB support for Xcode 5 2014-08-29 18:52:42 +00:00
Contributions.txt EDK II Contributions.txt: Note acceptable contribution licenses 2014-08-25 23:10:18 +00:00
EmulatorPkg.dec Add a new SMBIOS Library, and platform SMBIOS driver that does not use Framework or Hii. 2012-01-30 18:57:30 +00:00
EmulatorPkg.dsc EmulatorPkg: Add missing DisplayEngineDxe driver 2014-04-15 23:53:19 +00:00
EmulatorPkg.fdf EmulatorPkg: Add missing DisplayEngineDxe driver 2014-04-15 23:53:19 +00:00
License.txt Update copyright format 2012-04-24 06:49:39 +00:00
README
build.sh EmulatorPkg: Add support for GCC48 & GCC49 toolchains 2014-07-28 17:37:25 +00:00

README

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.


=== EmulatorPkg Overview ===

EmulatorPkg provides an environment where a UEFI environment can be
emulated under an environment where a full UEFI compatible
environment is not possible.  (For example, running under an OS
where an OS process hosts the UEFI emulation environment.)

http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EmulatorPkg

=== Status ===

* Builds and runs under a posix-like environment with X windows
  - Linux
  - OS X

=== Future Plans ===

* Win32 and Win64 support

=== Build Scripts ===

On systems with the bash shell you can use EmulatorPkg/build.sh to simplify
building and running EmulatorPkg.

For example, to build + run:
$ EmulatorPkg/build.sh
$ EmulatorPkg/build.sh run

The build architecture will match your host machine's architecture.

On X64 host machines, you can build + run IA32 mode as well:
$ EmulatorPkg/build.sh -a IA32
$ EmulatorPkg/build.sh -a IA32 run