Fix previous commit for bug #13675.
[bpt/emacs.git] / src / unexcoff.c
index 4dafaba..466a5c0 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1985-1988, 1992-1994, 2001-2011  Free Software Foundation, Inc.
+/* Copyright (C) 1985-1988, 1992-1994, 2001-2013 Free Software
+ * Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -50,6 +51,8 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
  */
 
 #include <config.h>
+#include "unexec.h"
+
 #define PERROR(file) report_error (file, new)
 
 #ifndef CANNOT_DUMP  /* all rest of file!  */
@@ -96,7 +99,7 @@ struct aouthdr
 
 #include <sys/file.h>
 
-extern char *start_of_data (void);             /* Start of initialized data */
+#include "mem-limits.h"
 
 static long block_copy_start;          /* Old executable start point */
 static struct filehdr f_hdr;           /* File header */
@@ -118,7 +121,6 @@ static int pagemask;
 
 #define ADDR_CORRECT(x) ((char *)(x) - (char*)0)
 
-#include <setjmp.h>
 #include "lisp.h"
 
 static void
@@ -331,11 +333,7 @@ write_segment (int new, const char *ptr, const char *end)
         a gap between the old text segment and the old data segment.
         This gap has probably been remapped into part of the text segment.
         So write zeros for it.  */
-      if (ret == -1
-#ifdef EFAULT
-         && errno == EFAULT
-#endif
-         )
+      if (ret == -1 && errno == EFAULT)
        {
          /* Write only a page of zeros at once,
             so that we don't overshoot the start
@@ -522,7 +520,7 @@ adjust_lnnoptrs (int writedesc, int readdesc, const char *new_name)
  *
  * driving logic.
  */
-int
+void
 unexec (const char *new_name, const char *a_name)
 {
   int new = -1, a_out = -1;
@@ -543,15 +541,13 @@ unexec (const char *new_name, const char *a_name)
       )
     {
       close (new);
-      return -1;
+      return;
     }
 
   close (new);
   if (a_out >= 0)
     close (a_out);
   mark_x (new_name);
-  return 0;
 }
 
 #endif /* not CANNOT_DUMP */
-