X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/fdebad6415fe477394d2c0319e096ec623d33f8f..6bee44d6400c47201de3abfef17b63ce9acfb8c9:/src/unexsol.c diff --git a/src/unexsol.c b/src/unexsol.c index 41ad95ef51..ef1e34e6f0 100644 --- a/src/unexsol.c +++ b/src/unexsol.c @@ -1,31 +1,30 @@ /* Trivial unexec for Solaris. */ #include -#include +#include "unexec.h" + #include +#include #include "lisp.h" +#include "buffer.h" +#include "charset.h" +#include "coding.h" -int -unexec (char *new_name, char *old_name, unsigned int data_start, - unsigned int bss_start, unsigned int entry_address) +void +unexec (const char *new_name, const char *old_name) { Lisp_Object data; Lisp_Object errstring; if (! dldump (0, new_name, RTLD_MEMORY)) - return 0; + return; data = Fcons (build_string (new_name), Qnil); synchronize_system_messages_locale (); errstring = code_convert_string_norecord (build_string (dlerror ()), Vlocale_coding_system, 0); - /* System error messages are capitalized. Downcase the initial - unless it is followed by a slash. */ - if (SREF (errstring, 1) != '/') - SSET (errstring, 0, DOWNCASE (SREF (errstring, 0))); - - Fsignal (Qfile_error, + xsignal (Qfile_error, Fcons (build_string ("Cannot unexec"), Fcons (errstring, data))); }