all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ken Brown <kbrown@cornell.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 17176@debbugs.gnu.org
Subject: bug#17176: 24.3.50; Problem with manifests on cygw32 build with new binutils
Date: Wed, 02 Apr 2014 18:19:34 -0400	[thread overview]
Message-ID: <533C8CF6.3060004@cornell.edu> (raw)
In-Reply-To: <838urnbg84.fsf@gnu.org>

On 4/2/2014 4:59 PM, Eli Zaretskii wrote:
>> Date: Wed, 02 Apr 2014 23:29:35 +0300
>> From: Eli Zaretskii <eliz@gnu.org>
>> Cc: 17176@debbugs.gnu.org
>>
>>> Date: Wed, 02 Apr 2014 15:07:23 -0400
>>> From: Ken Brown <kbrown@cornell.edu>
>>>
>>> binutils has changed so that, on Cygwin, executables have a manifest
>>> built in by default.  A consequence is that the cygw32 build of emacs
>>> produces an emacs.exe which, after it is stripped, won't run:
>>>
>>> $ ./emacs-stripped.exe
>>> -bash: ./emacs-stripped.exe: cannot execute binary file
>>>
>>> This is presumably caused by the fact that the cygw32 build already
>>> incorporates a manifest via nt/emacs.res.
>>
>> Are you sure this is the cause?

No, but I don't think it matters.  I think the patch is correct anyway, 
for reasons I'll explain below.

> Also, what about those Cygwin users who didn't yet upgrade to this new
> version of Binutils? they will be left with no manifest.

They don't need one.  Cygwin binaries generally have no manifest (prior 
to the Binutils change).  The only exceptions are for programs that need 
a manifest to avoid UAC problems because their names happen to contain 
"update" or "patch", for instance.  Not that Binutils has changed, 
people doing builds on Cygwin never have to think about manifests even 
in these exceptional cases.

The fact that the cygw32 build of emacs uses a manifest is a consequence 
(probably unintended, but only Daniel could say for sure) of the fact 
that emacs.res is linked in.  And the only reason for linking in 
emacs.res is to get the emacs icon into the cygw32 build.

> Failing that, a configure-time test for this version of Binutils will
> be needed, I think.

This isn't necessary.  The old Binutils works fine after the patch.  The 
only difference is that there's no manifest but, as I said above, none 
is needed.

Ken






  reply	other threads:[~2014-04-02 22:19 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-02 19:07 bug#17176: 24.3.50; Problem with manifests on cygw32 build with new binutils Ken Brown
2014-04-02 19:38 ` Daniel Colascione
2014-04-02 20:29 ` Eli Zaretskii
2014-04-02 20:59   ` Eli Zaretskii
2014-04-02 22:19     ` Ken Brown [this message]
2014-04-03  2:48       ` Eli Zaretskii
2014-04-03 12:50         ` Ken Brown
2014-04-03 19:12           ` Ken Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=533C8CF6.3060004@cornell.edu \
    --to=kbrown@cornell.edu \
    --cc=17176@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.