view src/unexsol.c @ 50597:2e53f070cbc3

Whitespace changes, trivial commentary changes. (f90, f90-indent, f90-program-indent, f90-continuation-indent) (f90-indented-comment-re, f90-imenu-generic-expression) (f90-mark-subprogram, f90-join-lines): Minor doc changes. (f90-menu): Shift definition to initialization of f90-mode-map. Add customization section. (f90-mode): Minor doc change. Do not call easy-menu-add. Set `beginning-of-defun-function' and `end-of-defun-function' to appropriate F90 functions. (f90-indent-line, f90-indent-line, f90-indent-subprogram) (f90-break-line, f90-do-auto-fill, f90-insert-end) (f90-upcase-keywords, f90-capitalize-keywords) (f90-downcase-keywords): Change interactive spec.
author Glenn Morris <rgm@gnu.org>
date Tue, 15 Apr 2003 19:18:23 +0000
parents 6510ca25352f
children 695cf19ef79e
line wrap: on
line source

/* Trivial unexec for Solaris.  */

#include <config.h>
#include <stdlib.h>
#include <dlfcn.h>

#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)
{
  Lisp_Object data;
  Lisp_Object errstring;

  if (! dldump (0, new_name, RTLD_MEMORY))
    return 0;

  data = Fcons (build_string (new_name), Qnil);
  synchronize_system_messages_locale ();
  errstring = code_convert_string_norecord (build_string (dlerror ()),
					    Vlocale_coding_system, 0);

  Fsignal (Qfile_error,
	   Fcons (build_string ("Cannot unexec"), Fcons (errstring, data)));
}