This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Commit: LD: Remove default-manifest.o from Cygwin/MingGW links
- From: Nick Clifton <nickc at redhat dot com>
- To: binutils at sourceware dot org
- Date: Tue, 08 Apr 2014 17:45:23 +0100
- Subject: Commit: LD: Remove default-manifest.o from Cygwin/MingGW links
- Authentication-results: sourceware.org; auth=none
Hi Guys,
I am checking in the patch below to remove the inclusion of the
default manifest in final links for the Cygwin and MinGW targets. The
.rsrc section merging code has a bug which generates corrupt
executables (16807) and the manifest support triggers other build-time
and run-time problems.
It has been decided to move the manifest itself into its own project,
and to move the responsibility for including the manifest in a
Cygwin/MinGW binary into gcc, so the PE linker scripts no longer need
to specifically include it. I will be creating a follow up patch to
remove the rest of the default manifest support code tomorrow, but I
wanted to make sure that the linker is able to produce working
binaries today.
Cheers
Nick
ld/ChangeLog
2014-04-08 Nick Clifton <nickc@redhat.com>
* scripttempl/pe.sc (R_RSRC): Remove default manifest.
* scripttempl/pep.sc (R_RSRC): Remove default manifest.
diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc
index e9e5f64..579c0c8 100644
--- a/ld/scripttempl/pe.sc
+++ b/ld/scripttempl/pe.sc
@@ -44,23 +44,9 @@ if test "${RELOCATING}"; then
*(.tls$)
*(SORT(.tls$*))
*(.tls$ZZZ)'
- if test -z "$DEFAULT_MANIFEST"; then
- R_RSRC='
- *(.rsrc)
- *(.rsrc$*)'
- else
- R_RSRC="
- /* The default manifest contains information necessary for
- binaries to run under Windows 8 (or later). It is included as
- the last resource file so that if the application has provided
- its own manifest then that one will take precedence.
-
- Note - the .rsrc section merging code relies upon the fact
- that the input .rsrc sections are *not* sorted. */
- *(EXCLUDE_FILE (*$DEFAULT_MANIFEST) .rsrc)
- *(.rsrc*)
- KEEP ($DEFAULT_MANIFEST(.rsrc))"
- fi
+ R_RSRC='
+ *(.rsrc)
+ *(.rsrc$*)'
else
R_TEXT=
R_DATA=
diff --git a/ld/scripttempl/pep.sc b/ld/scripttempl/pep.sc
index 5f97d31..a71dd21 100644
--- a/ld/scripttempl/pep.sc
+++ b/ld/scripttempl/pep.sc
@@ -44,23 +44,9 @@ if test "${RELOCATING}"; then
*(.tls$)
*(SORT(.tls$*))
*(.tls$ZZZ)'
- if test -z "$DEFAULT_MANIFEST"; then
- R_RSRC='
- *(.rsrc)
- *(.rsrc$*)'
- else
- R_RSRC="
- /* The default manifest contains information necessary for
- binaries to run under Windows 8 (or later). It is included as
- the last resource file so that if the application has provided
- its own manifest then that one will take precedence.
-
- Note - the .rsrc section merging code relies upon the fact
- that the input .rsrc sections are *not* sorted. */
- *(EXCLUDE_FILE (*$DEFAULT_MANIFEST) .rsrc)
- *(.rsrc*)
- KEEP ($DEFAULT_MANIFEST(.rsrc))"
- fi
+ R_RSRC='
+ *(.rsrc)
+ *(.rsrc$*)'
else
R_TEXT=
R_DATA=