annotate src/unexsol.c @ 111233:d86e0c3de741

merge trunk
author Kenichi Handa <handa@m17n.org>
date Thu, 14 Oct 2010 16:21:40 +0900
parents 99084f50aa8e
children ef719132ddfa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47190
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 /* Trivial unexec for Solaris. */
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3 #include <config.h>
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 #include <dlfcn.h>
105669
68dd71358159 * alloc.c: Do not define struct catchtag.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 71990
diff changeset
5 #include <setjmp.h>
47190
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 #include "lisp.h"
47441
d671a35d55f3 Include buffer.h, charset.h, coding.h.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 47432
diff changeset
8 #include "buffer.h"
d671a35d55f3 Include buffer.h, charset.h, coding.h.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 47432
diff changeset
9 #include "charset.h"
d671a35d55f3 Include buffer.h, charset.h, coding.h.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 47432
diff changeset
10 #include "coding.h"
47190
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 int
110729
99084f50aa8e Remove unused arguments for unexec.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 110683
diff changeset
13 unexec (const char *new_name, const char *old_name)
47190
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 {
47432
16b9af83e7d3 Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents: 47190
diff changeset
15 Lisp_Object data;
16b9af83e7d3 Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents: 47190
diff changeset
16 Lisp_Object errstring;
16b9af83e7d3 Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents: 47190
diff changeset
17
16b9af83e7d3 Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents: 47190
diff changeset
18 if (! dldump (0, new_name, RTLD_MEMORY))
16b9af83e7d3 Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents: 47190
diff changeset
19 return 0;
47190
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20
47432
16b9af83e7d3 Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents: 47190
diff changeset
21 data = Fcons (build_string (new_name), Qnil);
16b9af83e7d3 Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents: 47190
diff changeset
22 synchronize_system_messages_locale ();
16b9af83e7d3 Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents: 47190
diff changeset
23 errstring = code_convert_string_norecord (build_string (dlerror ()),
16b9af83e7d3 Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents: 47190
diff changeset
24 Vlocale_coding_system, 0);
16b9af83e7d3 Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents: 47190
diff changeset
25
71990
b7bf941f8049 (unexec): Use xsignal.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
26 xsignal (Qfile_error,
47432
16b9af83e7d3 Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents: 47190
diff changeset
27 Fcons (build_string ("Cannot unexec"), Fcons (errstring, data)));
47190
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 }
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47472
diff changeset
29
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47472
diff changeset
30 /* arch-tag: d8ff72b3-8198-4011-8ef5-011b12027f59
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47472
diff changeset
31 (do not change this comment) */