X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/88bc8332eb14bcc4780fd3fe3dd4de2205c31dbf..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);