-/* Copyright (C) 1985, 1986, 1987, 1988, 1992, 1993, 1994, 2001, 2002, 2003,
- 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 1985-1988, 1992-1994, 2001-2012 Free Software Foundation, Inc.
This file is part of GNU Emacs.
*/
#include <config.h>
+#include "unexec.h"
+
#define PERROR(file) report_error (file, new)
#ifndef CANNOT_DUMP /* all rest of file! */
#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 */
#define ADDR_CORRECT(x) ((char *)(x) - (char*)0)
-#include <setjmp.h>
#include "lisp.h"
static void
error (msg, a1, a2);
}
\f
-static int make_hdr (int, int, unsigned, unsigned, unsigned,
- const char *, const char *);
+static int make_hdr (int, int, const char *, const char *);
static int copy_text_and_data (int, int);
static int copy_sym (int, int, const char *, const char *);
static void mark_x (const char *);
*
* driving logic.
*/
-int
+void
unexec (const char *new_name, const char *a_name)
{
int new = -1, a_out = -1;
)
{
close (new);
- return -1;
+ return;
}
close (new);
if (a_out >= 0)
close (a_out);
mark_x (new_name);
- return 0;
}
#endif /* not CANNOT_DUMP */
-
-/* arch-tag: 62409b69-e27a-4a7c-9413-0210d6b54e7f
- (do not change this comment) */