public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* Commit: LD: Remove default-manifest.o from Cygwin/MingGW links
@ 2014-04-08 16:45 Nick Clifton
  2014-04-08 17:33 ` Reini Urban
  0 siblings, 1 reply; 2+ messages in thread
From: Nick Clifton @ 2014-04-08 16:45 UTC (permalink / raw)
  To: binutils

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=

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Commit: LD: Remove default-manifest.o from Cygwin/MingGW links
  2014-04-08 16:45 Commit: LD: Remove default-manifest.o from Cygwin/MingGW links Nick Clifton
@ 2014-04-08 17:33 ` Reini Urban
  0 siblings, 0 replies; 2+ messages in thread
From: Reini Urban @ 2014-04-08 17:33 UTC (permalink / raw)
  To: binutils

On 04/08/2014 11:45 AM, Nick Clifton wrote:
>    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.

Hi Nick,
Where can I read about this decision, and which "own project" in 
particular? Just curious.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-04-08 17:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-08 16:45 Commit: LD: Remove default-manifest.o from Cygwin/MingGW links Nick Clifton
2014-04-08 17:33 ` Reini Urban

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).