GNU bug report logs -
#17176
24.3.50; Problem with manifests on cygw32 build with new binutils
Previous Next
Reported by: Ken Brown <kbrown <at> cornell.edu>
Date: Wed, 2 Apr 2014 19:08:01 UTC
Severity: important
Found in version 24.3.50
Fixed in version 24.4
Done: Ken Brown <kbrown <at> cornell.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 03 Apr 2014 15:12:38 -0400
with message-id <533DB2A6.3070404 <at> cornell.edu>
and subject line Re: bug#17176: 24.3.50; Problem with manifests on cygw32 build with new binutils
has caused the debbugs.gnu.org bug report #17176,
regarding 24.3.50; Problem with manifests on cygw32 build with new binutils
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
17176: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17176
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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. The following patch fixes
this and does some related manifest-related cleanup:
=== modified file 'configure.ac'
--- configure.ac 2014-03-27 21:29:32 +0000
+++ configure.ac 2014-04-02 17:47:41 +0000
@@ -1834,11 +1834,6 @@
W32_OBJ="w32fns.o w32menu.o w32reg.o w32font.o w32term.o"
W32_OBJ="$W32_OBJ w32xfns.o w32select.o w32uniscribe.o"
EMACSRES="emacs.res"
- case "$canonical" in
- x86_64-*-*) EMACS_MANIFEST="emacs-x64.manifest" ;;
- *) EMACS_MANIFEST="emacs-x86.manifest" ;;
- esac
- UPDATE_MANIFEST=update-game-score.exe.manifest
if test "${opsys}" = "cygwin"; then
W32_LIBS="$W32_LIBS -lkernel32 -luser32 -lgdi32 -lole32 -lcomdlg32"
W32_LIBS="$W32_LIBS -lusp10 -lcomctl32 -lwinspool"
@@ -1846,6 +1841,11 @@
# the rc file), not a linker script.
W32_RES_LINK="-Wl,emacs.res"
else
+ case "$canonical" in
+ x86_64-*-*) EMACS_MANIFEST="emacs-x64.manifest" ;;
+ *) EMACS_MANIFEST="emacs-x86.manifest" ;;
+ esac
+ UPDATE_MANIFEST=update-game-score.exe.manifest
W32_OBJ="$W32_OBJ w32.o w32console.o w32heap.o w32inevt.o w32proc.o"
W32_LIBS="$W32_LIBS -lwinmm -lgdi32 -lcomdlg32"
W32_LIBS="$W32_LIBS -lmpr -lwinspool -lole32 -lcomctl32 -lusp10"
=== modified file 'nt/emacs.rc'
--- nt/emacs.rc 2014-03-21 10:12:53 +0000
+++ nt/emacs.rc 2014-04-02 18:30:53 +0000
@@ -1,10 +1,12 @@
Emacs ICON icons/emacs.ico
32649 CURSOR icons/hand.cur
-#if defined (WIN64) || defined (__x86_64__)
+#ifndef __CYGWIN__
+#ifdef WIN64
1 24 "emacs-x64.manifest"
#else
1 24 "emacs-x86.manifest"
#endif
+#endif
#ifndef VS_VERSION_INFO
#define VS_VERSION_INFO 1
=== modified file 'src/Makefile.in'
--- src/Makefile.in 2014-01-12 17:27:17 +0000
+++ src/Makefile.in 2014-04-02 18:29:50 +0000
@@ -259,7 +259,7 @@
## emacs.res if HAVE_W32
EMACSRES = @EMACSRES@
-## emacs-*.manifest if HAVE_W32
+## emacs-*.manifest if WINDOWSNT
EMACS_MANIFEST = @EMACS_MANIFEST@
## If HAVE_W32, compiler arguments for including
## the resource file in the binary.
OK to apply to the emacs-24 branch?
Ken
[Message part 3 (message/rfc822, inline)]
Version: 24.4
Patch applied as rev 116901 on the emacs-24 branch.
This bug report was last modified 11 years and 49 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.