X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/e2ae1c5a40e2802fcd9f5ee26b4906be97c8b878..0a2aedfe6d650e825a50f25f972bac20d669f5cb:/src/unexcw.c
diff --git a/src/unexcw.c b/src/unexcw.c
index be8857878e..6343b38bcf 100644
--- a/src/unexcw.c
+++ b/src/unexcw.c
@@ -1,14 +1,14 @@
/* unexec() support for Cygwin;
complete rewrite of xemacs Cygwin unexec() code
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -21,7 +21,7 @@ along with GNU Emacs. If not, see . */
#include
#include "unexec.h"
#include "lisp.h"
-
+#include
#include
#include
#include
@@ -30,10 +30,6 @@ along with GNU Emacs. If not, see . */
#define DOTEXE ".exe"
-extern void report_sheap_usage (int);
-
-extern int bss_sbrk_did_unexec;
-
/*
** header for Windows executable files
*/
@@ -151,7 +147,7 @@ fixup_executable (int fd)
assert (ret == my_edata - (char *) start_address);
++found_data;
if (debug_unexcw)
- printf (" .data, mem start %#lx mem length %d\n",
+ printf (" .data, mem start %#lx mem length %td\n",
start_address, my_edata - (char *) start_address);
if (debug_unexcw)
printf (" .data, file start %d file length %d\n",
@@ -217,7 +213,7 @@ fixup_executable (int fd)
sizeof (exe_header->section_header[i]));
assert (ret == sizeof (exe_header->section_header[i]));
if (debug_unexcw)
- printf (" seek to %ld, write %d\n",
+ printf (" seek to %ld, write %zu\n",
(long) ((char *) &exe_header->section_header[i] -
(char *) exe_header),
sizeof (exe_header->section_header[i]));
@@ -232,7 +228,7 @@ fixup_executable (int fd)
my_endbss - (char *) start_address);
assert (ret == (my_endbss - (char *) start_address));
if (debug_unexcw)
- printf (" .bss, mem start %#lx mem length %d\n",
+ printf (" .bss, mem start %#lx mem length %td\n",
start_address, my_endbss - (char *) start_address);
if (debug_unexcw)
printf (" .bss, file start %d file length %d\n",
@@ -276,14 +272,12 @@ unexec (const char *outfile, const char *infile)
int ret;
int ret2;
- report_sheap_usage (1);
-
infile = add_exe_suffix_if_necessary (infile, infile_buffer);
outfile = add_exe_suffix_if_necessary (outfile, outfile_buffer);
- fd_in = emacs_open (infile, O_RDONLY | O_BINARY, 0);
+ fd_in = emacs_open (infile, O_RDONLY, 0);
assert (fd_in >= 0);
- fd_out = emacs_open (outfile, O_RDWR | O_TRUNC | O_CREAT | O_BINARY, 0755);
+ fd_out = emacs_open (outfile, O_RDWR | O_TRUNC | O_CREAT, 0755);
assert (fd_out >= 0);
for (;;)
{
@@ -302,9 +296,7 @@ unexec (const char *outfile, const char *infile)
ret = emacs_close (fd_in);
assert (ret == 0);
- bss_sbrk_did_unexec = 1;
fixup_executable (fd_out);
- bss_sbrk_did_unexec = 0;
ret = emacs_close (fd_out);
assert (ret == 0);