diff options
author | Nick Clifton <nickc@redhat.com> | 2014-02-27 14:09:29 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2014-02-27 14:13:43 +0000 |
commit | 5063daf7357ccdc2c9e899ca0421c2e8e580c88d (patch) | |
tree | ad294aff0d6abde7e8064a16f4503d01dfe90867 /ld/ld.texinfo | |
parent | db434ba03edb5491d48415069d6116b5037e6fa1 (diff) | |
download | gdb-5063daf7357ccdc2c9e899ca0421c2e8e580c88d.zip gdb-5063daf7357ccdc2c9e899ca0421c2e8e580c88d.tar.gz gdb-5063daf7357ccdc2c9e899ca0421c2e8e580c88d.tar.bz2 |
This patch adds a default manifest in to the final links performed by the Cygwin and MinGW targets.
The manifest is necessary in order for the linked binaries to be executed in a Windows 8 environment.
The manifest is added using a linker script so that this feature will be compiler-neutral. The resource
merging code in the linker means that if an application provides its own manifest then the default
manifest will be ignored.
* configure.in (all_emul_extra_binaries): New variable. Populated
by invoking configure.tgt.
(EMUL_EXTRA_BINARIES): New substitution.
* configure: Regenerate.
* configure.tgt (target_extra_binaries): New variable. Set to
default-manifest.o for Cygwin and MinGW targets.
* Makefile.am (EMUL_EXTRA_BINARIES): New variable. Initialised
by the configure script.
(ALL_EMUL_EXTRA_BINARIES): New variable.
(default-manifest.o): New rule to build the default manifest.
(ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
(install-data-local): Add EMUL_EXTRA_BINARIES.
* Makefile.in: Regenerate.
* ld.texinfo: Document default manifest support.
* emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
* emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
* emultempl/default-manifest.rc: New file.
* scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
* scripttempl/pep.sc (R_RSRC): Likewise.
* ld-pe/longsecn-1.d: Allow for extra sections.
* ld-pe/longsecn-2.d: Likewise.
* ld-pe/longsecn.d: Likewise.
* ld-pe/secrel.d: Likewise.
Diffstat (limited to 'ld/ld.texinfo')
-rw-r--r-- | ld/ld.texinfo | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ld/ld.texinfo b/ld/ld.texinfo index bfc2643..b1dff79 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -7585,6 +7585,15 @@ by @command{ld} and respected when laying out the common symbols. Native tools will be able to process object files employing this GNU extension, but will fail to respect the alignment instructions, and may issue noisy warnings about unknown linker directives. + +@cindex default manifest +@item default manifest +The linker will automatically add a default manifest to the .rsrc +section of any fully linked cygwin or MingGW binary. This manifest is +necessary in order to be able to execute the binary under Windows 8 +(or later). An application can supply its own manifest, and if it +does so then this manifest will be used in preference to the default +one. @end table @ifclear GENERIC |