annotate src/unexsol.c @ 68199:5012e59a73c7

* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed to help remove dependency on mh-utils. * mh-exec.el: New file. Move process support routines here from mh-utils.el. * mh-init.el (mh-utils): Remove require. (mh-exec): Add require. (mh-profile-component, mh-profile-component-value): Move here from mh-utils.el. * mh-utils.el (mh-pgp-support-flag): Move to mh-comp.el to reduce dependencies on mh-utils.el. (mh-profile-component, mh-profile-component-value): Move to mh-init.el since that's the only place that uses them. (Other than mh-alias.el; I'm thinking that mh-find-path can set variable from the Aliasfile component like it does the other components). (mh-index-max-cmdline-args, mh-xargs, mh-quote-for-shell) (mh-exec-cmd, mh-exec-cmd-error, mh-exec-cmd-daemon) (mh-exec-cmd-env-daemon, mh-process-daemon, mh-exec-cmd-quiet) (defvar, mh-exec-cmd-output) (mh-exchange-point-and-mark-preserving-active-mark) (mh-exec-lib-cmd-output, mh-handle-process-error): Move to new file mh-exec.el so that mh-init.el doesn't have to depend on mh-utils.el, breaking circular dependency. * mh-alias.el: mh-customize.el: mh-e.el: mh-funcs.el: mh-gnus.el: * mh-identity.el: mh-inc.el: mh-junk.el: mh-mime.el: mh-print.el: * mh-search.el: mh-seq.el: mh-speed.el: Added debugging statements (commented out) around requires to help find dependency loops. Will remove them when issues are resolved.
author Bill Wohler <wohler@newt.com>
date Sun, 15 Jan 2006 08:17:56 +0000
parents 695cf19ef79e
children b7bf941f8049 375f2633d815
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 <stdlib.h>
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5 #include <dlfcn.h>
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
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 unexec (char *new_name, char *old_name, unsigned int data_start,
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 unsigned int bss_start, unsigned int entry_address)
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
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
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
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
85923ab92112 Initial version.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 }
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47472
diff changeset
30
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47472
diff changeset
31 /* arch-tag: d8ff72b3-8198-4011-8ef5-011b12027f59
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47472
diff changeset
32 (do not change this comment) */