Commit Graph

10 Commits

Author SHA1 Message Date
Jordan Justen e9651c1272 EmulatorPkg/Unix/Host: Add GCC5 CC/DLINK commands (for GCC >= 5)
These flags are based on the flags from the GCC5 toolchain in
tools_def.template. Since the GCC5 toolchain uses link-time
optimizations (LTO), we must compile and link the 'Host' files with
LTO enabled so we can link to other modules.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
2017-07-07 15:38:13 -07:00
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
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
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 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
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