Commit Graph

22 Commits

Author SHA1 Message Date
Ard Biesheuvel a1b8baccc3 BaseTools GCC: use 'gcc' as the linker command for GCC44 and later
To accommodate upcoming GCCx toolchain versions that require 'gcc' to
be used as the linker in order to support LTO, switch GCC44 and later
(including CLANG35) to a new DLINK build rule that invokes 'gcc' as the
linker instead of 'ld'. Since gcc expects its command line arguments in
a different format, and expects arguments that it needs to pass to the
linker to be prefixed with '-Wl,', this involves changes to most of the
DLINK_FLAGS definitions in tools_def.template, as well as some changes to
module .INF files that set their own linker options.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-08-02 08:40:43 +02:00
Jordan Justen dff5a05ba1 EmulatorPkg: Update web page and wiki urls
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Bruce Cran <bruce.cran@gmail.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16780 6f19259b-4bc3-4df7-8a09-765794883524
2015-02-05 18:25:01 +00:00
Jordan Justen 58f89bb1d2 EmulatorPkg: EmulatorPkg/Unix/Host/Host.c line-endings to CRLF
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16779 6f19259b-4bc3-4df7-8a09-765794883524
2015-02-05 18:24:48 +00:00
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
Anderw Fish e320062406 EmulatorPkg: Unix: Fix uninitiailzed variable bug.
clang warns on this error.

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@15981 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-29 18:45:26 +00:00
Anderw Fish 459eba0148 EmulatorPkg:Unix: Add support for X11 on Mac OS X via XQuartz
Starting in OS X Mountain Lion X11 is not longer part of the OS install, so 
you must download it from http://xquartz.macosforge.org.
To make XQuartz work with the EmulatorPkg an include path needs to be added.
The build tools fail the build if you try to add an absolute inculde path to 
the X11 headers, so Unix/Host/X11IncludeHack, a symbolic link, was added to 
get the system building.

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@15929 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 03:38:21 +00:00
Jordan Justen dc4ad1532e EmulatorPkg: Add support for GCC48 & GCC49 toolchains
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15699 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-28 17:37:25 +00:00
Jordan Justen 8ecb9d1bee EmulatorPkg/Unix GCC: Add additional library search paths
IA32: add /usr/lib/i386-linux-gnu
X64: add /usr/lib/x86_64-linux-gnu

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

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15471 6f19259b-4bc3-4df7-8a09-765794883524
2014-04-15 23:53:35 +00:00
Jordan Justen acbdfd42e5 EmulatorPkg/Unix GCC: Link to libdl
libdl is used for the dlopen and dlclose calls. We were already
linking to it, but it appears it may have been pulled in automatically
by the linker before.

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

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15470 6f19259b-4bc3-4df7-8a09-765794883524
2014-04-15 23:53:26 +00:00
andrewfish 5b484a25f7 Update to build with 10.8 OS X Frameworks. This is a Mac only change.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14016 6f19259b-4bc3-4df7-8a09-765794883524
2012-12-22 00:47:17 +00:00
jljusten 35cfa92c5a EmulatorPkg: Support GCC47 toolchain
When GCC >= 4.7 is detected, use the GCC47 toolchain.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
[jordan.l.justen@intel.com: reword commit message for EmulatorPkg]
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13629 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-13 17:06:39 +00:00
andrewfish 2c5ce61d06 Fix bug where open() mode was not being set based on type of device being emulated.
signed-off-by:andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12917 6f19259b-4bc3-4df7-8a09-765794883524
2012-01-07 00:30:52 +00:00
andrewfish 9cf20bbf9a Add an error print and exit if SEC core is not found.
signed-off-by: andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12912 6f19259b-4bc3-4df7-8a09-765794883524
2012-01-06 17:23:05 +00:00
andrewfish dd6f7d02a1 Add a PcdEmulatorLazyLoadSymbols that allows non-lazy symbol loading. The problem with lazy symbol loading is it only happens after you hit a breakpoint. This means you can't add breakpoints from the GUI and have them hit, this requires symbols being loaded as modules load so the breakpoints can get resolved.
Added arguments to SecGdbScriptBreak() to enable lldb python symbol load/unload script. 

signed-off-by:andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12879 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-15 22:26:15 +00:00
jljusten d142bb6337 EmulatorPkg Linux: Improve detection of libraries for host executable
build.sh will detect the locations of the libraries required by
the host executable, and sets the HOST_DLINK_PATHS environment
variable.

In EmulatorPkg/Unix/Host/Host.inf, this environment variable is
used in the linking build step.

Signed-off-by: jljusten
Reviewed-by: andrewfish

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12612 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-31 15:56:28 +00:00
andrewfish 697aa37e3b EmulatorPkg: Match paths/names for Xcode with new package naming scheme.
signed-off-by:andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11929 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-29 17:27:55 +00:00
jljusten 461e8e8e14 EmulatorPkg: Merge build*.sh into build.sh
Merged OvmfPkg/build.sh changes to allow a single build script
for IA32 & X64 builds.

Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11927 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-29 16:30:38 +00:00
jljusten e23e488ec6 EmulatorPkg: Move Unix/UnixX64.* to EmulatorPkg.*
EmulatorPkg/Unix/UnixX64.dsc => EmulatorPkg/EmulatorPkg.dsc
EmulatorPkg/Unix/UnixX64.fdf => EmulatorPkg/EmulatorPkg.fdf

Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11925 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-29 05:13:54 +00:00
jljusten 59ad461d9d EmulatorPkg/Unix: Rename SecMain to Host
Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11924 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-29 05:13:33 +00:00
andrewfish 3f2035e7a2 EmulatorPkg: Fix build break.
signed-off-by: andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11921 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-28 18:12:41 +00:00
jljusten d18d8a1d0e EmulatorPkg: Remove all trailing whitespace
Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11919 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-28 16:50:26 +00:00
jljusten bb89ec1a7e InOsEmuPkg: Rename package to EmulatorPkg & Sec to Host
* Rename InOsEmuPkg to EmulatorPkg
* Rename Unix/Sec to Unix/Host

Signed-off-by: jljusten
Reviewed-by: andrewfish
Reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11918 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-28 16:47:23 +00:00