Mercurial > emacs
annotate src/unexsol.c @ 55338:3fe6300a67bf
*** empty log message ***
| author | Jason Rumney <jasonr@gnu.org> |
|---|---|
| date | Mon, 03 May 2004 13:51:59 +0000 |
| parents | 695cf19ef79e |
| children | b7bf941f8049 375f2633d815 |
| rev | line source |
|---|---|
| 47190 | 1 /* Trivial unexec for Solaris. */ |
| 2 | |
| 3 #include <config.h> | |
| 4 #include <stdlib.h> | |
| 5 #include <dlfcn.h> | |
| 6 | |
| 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 | 11 |
| 12 int | |
| 13 unexec (char *new_name, char *old_name, unsigned int data_start, | |
| 14 unsigned int bss_start, unsigned int entry_address) | |
| 15 { | |
|
47432
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 data; |
|
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 errstring; |
|
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
18 |
|
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
19 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
|
20 return 0; |
| 47190 | 21 |
|
47432
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
22 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
|
23 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
|
24 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
|
25 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
|
26 |
|
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
27 Fsignal (Qfile_error, |
|
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
28 Fcons (build_string ("Cannot unexec"), Fcons (errstring, data))); |
| 47190 | 29 } |
| 52401 | 30 |
| 31 /* arch-tag: d8ff72b3-8198-4011-8ef5-011b12027f59 | |
| 32 (do not change this comment) */ |
