Mercurial > emacs
annotate src/unexsol.c @ 106706:f2acba714cf4
Rename cvs-update to bzr-update in lisp/ Makefiles.
Makefile.in (bzr-update): Renamed from cvs-update.
(cvs-update): New target for backward compatibility.
makefile.w32-in (bzr-update): Renamed from cvs-update.
(cvs-update): New target for backward compatibility.
| author | Eli Zaretskii <eliz@gnu.org> |
|---|---|
| date | Sat, 02 Jan 2010 12:42:11 +0200 |
| parents | 68dd71358159 |
| children | 55c8c3ca3d48 |
| rev | line source |
|---|---|
| 47190 | 1 /* Trivial unexec for Solaris. */ |
| 2 | |
| 3 #include <config.h> | |
| 4 #include <stdlib.h> | |
| 5 #include <dlfcn.h> | |
|
105669
68dd71358159
* alloc.c: Do not define struct catchtag.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
71990
diff
changeset
|
6 #include <setjmp.h> |
| 47190 | 7 |
| 8 #include "lisp.h" | |
|
47441
d671a35d55f3
Include buffer.h, charset.h, coding.h.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
47432
diff
changeset
|
9 #include "buffer.h" |
|
d671a35d55f3
Include buffer.h, charset.h, coding.h.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
47432
diff
changeset
|
10 #include "charset.h" |
|
d671a35d55f3
Include buffer.h, charset.h, coding.h.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
47432
diff
changeset
|
11 #include "coding.h" |
| 47190 | 12 |
| 13 int | |
| 14 unexec (char *new_name, char *old_name, unsigned int data_start, | |
| 15 unsigned int bss_start, unsigned int entry_address) | |
| 16 { | |
|
47432
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
17 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
|
18 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
|
19 |
|
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
20 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
|
21 return 0; |
| 47190 | 22 |
|
47432
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
23 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
|
24 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
|
25 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
|
26 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
|
27 |
| 71990 | 28 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
|
29 Fcons (build_string ("Cannot unexec"), Fcons (errstring, data))); |
| 47190 | 30 } |
| 52401 | 31 |
| 32 /* arch-tag: d8ff72b3-8198-4011-8ef5-011b12027f59 | |
| 33 (do not change this comment) */ |
