diff options
Diffstat (limited to 'exec')
-rw-r--r-- | exec/ChangeLog | 643 |
1 files changed, 643 insertions, 0 deletions
diff --git a/exec/ChangeLog b/exec/ChangeLog new file mode 100644 index 00000000..d650dbd8 --- /dev/null +++ b/exec/ChangeLog @@ -0,0 +1,643 @@ +Sun Jul 7 21:13:22 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * exec.c (S_exec_exec): Don't use unsafe MOVE_SEND in call to + interruptible exec_exec stub. + +Mon Jul 1 16:08:03 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * Makefile (DIST_FILES): Removed crash.c. + * crash.c: Moved to ../trans. + +Thu Jun 20 15:43:51 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * Makefile (exec): Link against fshelp too now. + + * exec.c (do_exec): Call proc_setowner *after* possible + proc_reassign; otherwise it modifies the stub process's state and + not the real process's. + +Wed Jun 19 14:08:15 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * exec.c (do_exec, S_exec_exec): Pass 0 for new LOOKUP arg to + hurd_file_name_lookup. + * hashexec.c (hurd_file_name_path_lookup): Declaration removed. + (check_hashbang): Pass 0 for new LOOKUP arg to hurd_file_name_lookup. + +Wed Jun 12 21:17:33 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * gzip.h (basename): Comment out declaration; it conflicts with + libc's. + + * exec.c (do_exec): If secure, set the owner with proc_setowner. + +Fri May 10 16:47:11 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * hashexec.c (search_path): Don't make PATH or PFXED_NAME const. + +Fri May 10 09:20:26 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * exec.c (do_exec) [use1]: Use new auth_user_authenticate interface. + * hashexec.c (check_hashbang) [userport/reauthenticate]: Likewise. + + * hashexec.c (check_hashbang) [setup_args/search_path]: Declare + PATH to be `char const *'. + +Tue May 7 16:24:52 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + + * hashexec.c (check_hashbang): Use io_identity instead of io_stat to + compare files. + +Mon May 6 14:26:41 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * main.c (exec_version): Upgrade to 0.0. + +Fri May 3 14:16:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + + * exec.c (map): Use F->__offset and F->__target properly. + +Thu May 2 10:21:37 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + + * exec.c (map): Fix fencepost error in check of current mapping + window. Request round_page (LEN) bytes in io_read to avoid many small + reads. + + * exec.c (do_exec): Terminate OLDTASK if we get an error after killing + its threads and deallocating its address space. + +Tue Apr 30 11:36:25 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * exec.c (check_gzip) [ziprderr]: Treat all read errors as + ENOEXEC. First off, because that's what they are; also because + some callers of read_error don't set errno at all. + +Mon Apr 29 15:11:55 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * exec.c (check_section): If the format makes no sense, return + ENOEXEC, not EINVAL. + (check_bfd): Likewise. + (check_elf): Likewise. + (check_elf_phdr): Likewise. + (do_exec): Likewise. + + * exec.c (do_exec): Use correct args to ports_create_port. + +Sat Apr 27 06:02:42 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + + * crash.c: Use ports_create_port instead of ports_allocate_port, and + notice the error. + * exec.c: Likewise. + +Tue Apr 23 18:53:54 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + + * hashexec.c (check_hashbang: user_port): Use default root port when + secure. + +Mon Apr 15 12:48:35 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * Makefile (DIST_FILES): Add elfcore.c, crash.c, and exectrans.c. + (SRCS): That's hashexec.c, not .o. + + * Makefile (exec-MIGSFLAGS): Look for execmutations.h in + $(srcdir). + +Mon Apr 8 15:49:39 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * exec.c (prepare): If io_map returns EOPNOTSUPP, suppress the + error, and still setup E's stream. + (prepare_and_check): If prepare returns an error, do no more. + +Thu Mar 28 14:06:07 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * hashexec.c (check_hashbang): Pass open flags & mode args to + hurd_file_name_path_lookup. + +Mon Feb 26 16:33:22 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * hashexec.c (check_hashbang): Correctly deal with interpreter + lines having no argument. + +Sat Jan 13 12:28:03 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * hashexec.c (check_hashbang): Use hash_file_name_path_lookup() + instead of doing the path search ourselves, and get rid of + LOOKUP_CWDIR & associated logic. + * exec.c (S_exec_exec): Use strdupa(). Also update use of + hurd_file_name_lookup() [still probably not right though]. + +Thu Jan 11 15:36:18 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * hashexec.c (check_hashbang): When using executable name found on + the path, don't return alloca()ed memory from search_path(); use + malloc() instead. + Use envz_get() to search the environment. + + * exec.c (S_exec_exec): Use envz_get() to search the environment. + +Thu Jan 4 11:30:15 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (safe_bzero): Rewritten using hurd_catch_signal. + * hashexec.c (check_hashbang): Rearrange arg frobbing code + somewhat to use hurd_catch_signal instead of old preemption interface. + +Fri Dec 29 15:54:06 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * exec.c (do_exec): Be careful not to look at BOOT after we + release our reference on it. + Correctly initialize BOOT->intarray in the case where NINTS < + INIT_INT_MAX but we don't alloc a new array. + +Fri Dec 15 01:53:07 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (map): Rearrange code to fix some bugs and not remap + unless necessary. + (input_room): Simplify. + (check_elf): Extract all information from file header before + calling `map' for program headers. + +Sat Nov 25 22:10:41 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * crash.c (S_msg_sig_post_untraced): Also let the debugger have + the process back if it's posting the crashing signal. + +Tue Nov 21 15:01:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (safe_bzero): New function, broken out of load_section. + (load_section): Call it. + + * main.c (going_down): Variable removed. + (deadboot): Don't test it. Instead, use ports calls to check if + there are no other live ports. + (trivfs_goaway): Don't set it. + +Wed Nov 15 19:40:44 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * hashexec.c (user_port): Fixed port selection logic. + (check_hashbang): Fixed PATH searching in script name guessing. + +Mon Nov 13 15:11:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (S_exec_startup): Compatibility RPC removed. + + * exec.c (load_section): Catch faults while zeroing partial bss page. + +Sun Nov 5 00:15:07 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c (main): Add flags arg to trivfs_startup call. + +Wed Oct 25 15:50:38 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (S_exec_startup_get_info): New function, modified from + S_exec_startup. + (S_exec_startup): Just call it. + * main.c (exec_demuxer): Call exec_startup_server. + +Tue Oct 24 19:21:20 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * Makefile (OBJS): Add exec_startupServer.o. + + * priv.h (struct bootinfo): Use vm_size_t for phdr_size. + +Wed Oct 18 18:36:30 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * hashexec.c (check_hashbang: prepare_args): Enable and clean up + code to guess the name of the script before resorting to /dev/fd. + +Wed Oct 18 03:05:05 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * hashexec.c: New file. + * exec.c (struct execdata): Moved to priv.h. + (std_*, finish): Make global. + (do_exec): Only reset CWDIR when null, even if secure. + Actually call check_hashbang and return success if it does. + Use new hurd_file_name_lookup protocol with private callbacks to open + interpreter file on behalf of client. + Remove `bootout' label; use `stdout' or `out' as appropriate instead. + At `out' label always deref BOOT, which cleans it up iff necessary. + (S_exec_exec): #if 0 out $EXECSERVERS processing for time being. + * priv.h: Added some #includes. + (struct execdata): Moved here from exec.c. + (std_*): Declare these. + (finish, check_hashbang): Declare them. + * Makefile (SRCS, OBJS): Add hashexec.[co]. + (DIST_FILES): Remove it from here. + +Wed Oct 11 01:45:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * main.c, priv.h, execmutations.h: New files. + * exec.c: Server mechanics removed; now uses libtrivfs/libports. + Main program split out into main.c. + (std_lock): New variable (rwlock). + (do_exec): Acquire reader lock to access std_ints and std_ports. + (S_exec_setexecdata): Acquire writer lock to change them. + * Makefile (OBJS): Add main.o; remove fsysServer.o, notifyServer.o. + (LCLHDRS): Add priv.h and execmutations.h. + (exec-MIGSFLAGS): New variable. + (exec): Depend on livtrivfs, libthreads, libshouldbeinlibc. + +Mon Oct 2 10:33:14 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * exec.c (do_exec): Doc fix. + +Wed Sep 27 11:21:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (do_exec): Don't set NEWTASK's bootstrap port until after + we have finished completely with OLDTASK. + (do_mach_notify_no_senders): Remove bogus mod_refs call on + receive_portset. + +Wed Sep 20 19:57:55 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (struct bootinfo): New members `phdr_addr', `phdr_size', + `user_entry'. + (do_exec): Set them. Code rearranged to construct bootinfo before + looking up interpreter file, keep proper track of port rights and + VM copied into bootinfo (there were leaks). + +Sat Sep 16 13:15:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * Makefile: Remove vpath directive. + +Fri Sep 8 17:50:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * Makefile (OTHERLIBS, CPPFLAGS): Disable bfd by default. + +Mon Aug 28 16:57:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (S_fsys_forward): New stub function. + +Sun Jul 30 23:49:49 1995 Michael I. Bushnell, p/BSG <mib@geech.gnu.ai.mit.edu> + * Makefile (SRCS): Added unzip.c, util.c, and inflate.c. + +Thu Jul 6 15:32:39 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * hostarch.c (bfd_mach_host_arch_mach): Remove assignment from + inside if test. + + * Makefile: Removed dependencies that are now automatically + generated. + +Wed Jul 5 18:00:49 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * Makefile (OTHERLIBS): Define var. + (all, exec): Delete targets. + +Tue Jun 27 11:48:08 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * exec.c (load_section): Remove assignments from if tests. + (map): Likewise. + (prepare): Likewise. + (load): Likewise. + (servercopy): Likewise. + (do_exec): Likewise. + (S_exec_setexecdata): Likewise. + (S_exec_exec): Put extra parens around assignment inside while + test. + +Thu Jun 8 02:57:28 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (struct execdata.info.elf): Add members `anywhere' and + `loadbase'. + (load_section): Use them; if `anywhere' set, load the section anywhere. + Record load address in `loadbase'. + (check_elf): Initialize `anywhere' and `loadbase'. + (postload): Merged into load. + (load): Perform postload functionality here, after calling + finish_mapping. + (finish): Take new flag arg; deallocate file port only if set. + (do_exec): Pass flag to finish appropriately. + Don't call finish_mapping and postload after load. KLUDGE: Load + the interpreter before the program instead of after. + +Mon Jun 5 06:42:33 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c: Majorly revamped: Now supports the ELF format directly. + Secondarily uses the BFD library #ifdef BFD. Supports gunzipping + only #ifdef GZIP. + * hostarch.c: Rewritten to unconditionally return both BFD and ELF + machine types. + +Fri May 12 18:59:21 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * exec.c (S_fsys_set_options, S_fsys_mod_readonly): Change from + mod_readonly to set_options. + +Thu Apr 20 22:14:47 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (check_gzip): Rewind the stream before calling + `get_method'. Open a new BFD on the uncompressed data stream + before return. + +Sun Apr 9 01:27:10 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (struct execdata) [BFD]: New member `interp_section'. + (check_section): Notice section named ".interp" and set that pointer. + (load_section): Do nothing if the section is zero size. + When reading into our copy of the overlap page, don't read past + the end of the section. + (do_exec): Consolidate new subfunction `check_maybe_gzip'. + If there is an interpreter section, load the interpreter file too, + and use its entry point instead of the user program's. Cleaned up + and made more robust deallocation of BOOT info on error. + (deadboot): New function, split out of do_mach_port_notify_no_senders. + + * Makefile (vpath lib%.a): Add search path. + (exec): Depend on -lbfd and -liberty. + (CPPFLAGS): Append -DBFD; omit -DA_OUT_H=... + (bfdexec): Target removed. + * exec.c (load_section): fseek to desired position before freading. + (input_room): Always map a page-aligned region. + +Thu Feb 9 01:01:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (check_section): Don't check SEC_RELOC flag. + +Wed Feb 8 19:48:11 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * exec.c (load_section) [BFD]: BFD does not set SEC_HAS_CONTENTS + on a.out BSS's ever; don't make zeroing of bss conditional on that. + It's not clear exactly what SEC_HAS_CONTENTS is for anyhow; + perhaps the Right Thing is to set in on BSS. In any case, don't + depend on this flag here. + +Sat Jan 28 17:08:02 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (prepare): Give the stream a seek function. + +Sun Jan 22 03:16:17 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c: Update BFD code; it works now. + * hostarch.c [BFD]: Fix prototype. + +Thu Jan 19 01:24:18 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * hostarch.c: Add case for CPU_TYPE_ALPHA. + + * hostarch.c (bfd_mach_host_arch_mach, aout_mach_host_machine): + Use mach_msg_type_number_t instead of unsigned int. Cast + &HOSTINFO to (natural_t *). + +Sun Jan 15 06:29:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c [BFD] (bfd_mach_host_arch_mach): In decl, MACHINE arg is + `long int *' now. + [BFD] (host_bfd_arch_info): New variable. + [BFD] (host_bfd): Initialize `arch_info' member to its address. + (check) [BFD]: Use bfd_arch_get_compatible properly, rather than the + nonexistent bfd_arch_compatible. + (main) [BFD]: Fill in host_bfd.arch_info instead of old + `obj_machine' and `obj_archiecture' members, which BFD no longer has. + * hostarch.c [BFD] (bfd_mach_host_arch_mach): MACHINE arg is `long + int *' now. + +Tue Dec 13 23:28:08 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * Makefile (OBJS): Add unzip.o util.o inflate.o. + (LCLHDRS): Add gzip.h crypt.h tailor.h. + (unzip.o util.o inflate.o): Depend on those. + (CFLAGS): Use +=. + * inflate.c, unzip.c, util.c, tailor.h, gzip.h, crypt.h: New files. + +Sun Dec 11 19:49:01 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (struct execdata): New members `headbuf', `file_data', + `optimal_block'. + (load_section): Copy data from U->file_data if that is nonnull. + Use new subfunction `write_to_task' that handles non-page aligned + sections. + (input_room): Fix EOF check. + Use io_read if no memory object. + (prepare): New function, broken out of check. + Initialize E->file_data and E->optimal_block. Set + E->stream.__seen bit. + (check): No longer take FILE arg. + Use E->file_data if nonnull; else read from stream if no memory object. + (finish_mapping): Reset members after deallocating resources. + (finish): Likewise. Call fclose. Don't deallocate E->header if + it points to &E->headbuf or E->file_data. + (check_gzip): New function, implements executing gzip'd binaries. + (do_exec): Call prepare before check. + Call check_gzip if file format unrecognized. + +Wed Nov 9 01:40:28 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * exec.c (set_active_trans): Don't deallocate EXECNODE here to + work around a ufs bug. + + * exec.c: Include <hurd/paths.h> and <fcntl.h>. + (set_active_trans): New function. + (S_exec_init): Call set_active_trans. + +Wed Aug 31 11:16:04 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * exec.c (load_section): Pass address of stream in call to fread. + (input_room): Cast second arg to vm_deallocate. Dereference F + in setting __error member. + (close_exec_stream): Provide all three args to vm_deallocate + and cast the second one properly. + +Wed Aug 31 04:32:26 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c (do_exec): Do check before task_suspend. + #if 0'd out: If check gets ENOEXEC, call check_hashbang. + (struct execdata): Move member `stream' outside of [BFD]. + (load_section): Use fread instead of hand mapping and copying + unconditionally (was [BFD]); old code left #if'd out. + (close_exec_stream): Renamed from close_stdio_bfd; moved out of [BFD]. + (input_room): Define unconditionally, not [BFD]. + (check): Set up E->stream unconditionally. + +Tue Aug 30 11:58:27 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * exec.c (S_fsys_syncfs, S_fsys_mod_readonly): New stubs. + + * exec.c (set_init_port): Use new authentication protocol. + + * exec.c (S_exec_exec): Call hurd_file_name_lookup instead + of hurd_path_lookup. + + * exec.c (S_fsys_getroot): Return FS_RETRY_NORMAL instead + of FS_RETRY_NONE. + + * exec.c (procserver): New global variable. + (S_exec_init): Set procserver. + (do_exec): Use `procserver' instead of USEPORT macro. + (S_exec_init): Likewise. + +Mon Aug 29 13:08:44 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * exec.c (do_exec): Enable and fix up code for doing proc_reassign + in the EXEC_NEWTASK case. + (do_exec): If we don't provide the proc port, and this is a + newtask exec, then use the proc port to fetch a new one + corresponding to the new task. + +Wed Aug 17 14:59:58 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * exec.c (S_exec_exec): Bother to pass flags to do_exec. + + * exec.c (essentialstartupport, essentialhostport): Deleted vars. + (S_exec_init): Do startup_essential_task here like before, but + make sure we do it last. + (S_exec_setexecdata): Don't do startup_essential_task here. + +Tue Aug 16 10:02:50 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * exec.c (set_init_port): Don't assume that MACH_PORT_NULL == 0. + (do_exec): Likewise. + +Mon Aug 15 21:23:13 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * exec.c: Include <unistd.h> for getpid decl. + (set_init_port): Use pid_t for PID. + (S_exec_init): Pass poly arg to proc_execdata_notify. + +Mon Aug 15 15:24:45 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * exec.c (do_exec): Finish implementing EXEC_SECURE flag; + implement EXEC_DEFAULTS flag. + (S_exec_init): Delay startup_essential_task until after + we've received the first essential ports from the proc server. + (essentialstartupport essentialhostport): New global vars. + +Fri Jul 22 10:21:30 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * Makefile: Rewritten in accord with new scheme. + * exec.c: Include "exec_S.h" instead of "exec_server.h". + Include "notify_S.h". + +Tue Jul 19 20:51:58 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makefile (exec_server.h execServer.c, fsys_S.h fsysServer.c): + Find .defs file in ../hurd, not $(includedir). + +Tue Jul 19 12:42:32 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * exec.c (S_fsys_getroot): New arg `dotdot'; don't do anything + with it. + (S_fsys_startup): Removed dotdot args. + (main): Deleted var `dotdot'; don't expect it from fsys_startup. + + * Makefile (exec): Don't use variable $(link) anymore. + +Tue Jul 5 14:20:15 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * Makefile (SRCS, TAGSHDRS): New variables. + +Fri Jun 24 14:42:59 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * exec.c (load_section) [AOUT, mapstart > addr]: Dereference + U->header in use of N_MAGIC. + +Fri Jun 24 02:40:32 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * exec.c (load_section): Store protection of section in new local + VM_PROT. If vm_write of overlap page gets KERN_PROTECTION_FAILURE, + change protection of overlap page long enough to write it. + [AOUT]: Return ENOEXEC if there is overlap in NMAGIC or ZMAGIC. + +Thu Jun 16 16:15:17 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * exec.c (S_fsys_getroot): Implement new fsys_getroot interface. + +Mon Jun 13 04:06:24 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * exec.c (check): Store FILE in E->file. + +Tue May 31 17:20:24 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * a.out.h (struct exec): Type removed. + (OMAGIC, NMAGIC, ZMAGIC, N_MAGIC, N_MACHTYPE, N_BADMAG): Macros + removed. Just #include "a.out.gnu.h" to get all these defined. + (N_TXTLEN, N_TXTOFF): Use N_MAGIC instead of a_magic member. + + * Makefile (DIST_FILES): Add a.out.gnu.h. + (exec.o, hostarch.o): Depend on a.out.gnu.h. + +Fri May 27 01:40:04 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * exec.c (servercopy): New function to check the servercopy flag + and possibly vm_allocate a copy of argument data. + (do_exec): Take new args DTABLE_COPY, PORTARRAY_COPY, + INTARRAY_COPY. Use servercopy for ARGV, ENVP, DTABLE, PORTARRAY, + and INTARRAY. + (S_exec_exec): Take those new args and pass them to do_exec. + (S_exec_setexecdata): Take new args PORTS_COPY and INTS_COPY. + Use servercopy for PORTS and INTS. + (S_exec_startup): Never copy from info in *BOOT, always just set + the argument pointers to the pointers in *BOOT. MiG will copy and + deallocate the space as necessary. + + * exec.c (check): Lock and unlock E->cntl->lock properly. + (finish_mapping): New function, broken out of finish. + (postload_section): New function, broken out of load_section. + (postload): New function, like load but calls postload_section. + (do_exec): Call finish_mapping and postload between load and finish. + +Tue May 24 19:49:16 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * exec.c (S_exec_exec): Use strsep instead of strtok. + (main): Keep looping after error from mach_msg_server. + +Tue May 24 14:22:16 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * exec.c (load_section): Cast arg to vm_deallocate properly. + +Tue May 24 01:05:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * exec.c (struct bootinfo): Remove members argv_vmalloc, envp_vmalloc. + (do_exec): Don't set BOOT->argv_vmalloc or BOOT->envp_vmalloc. If + ARGV_COPY is set, vm_allocate space for ARGV; likewise for + ENVP_COPY and ENVP. + (S_exec_startup): Don't test BOOT->argv_vmalloc and + BOOT->envp_vmalloc; BOOT->argv and BOOT->envp are always vm_allocate'd. + (do_mach_notify_no_senders): Likewise. + (load_section): Handle non-bss sections that are not page aligned. + +Mon May 23 22:01:11 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * exec.c (S_exec_exec): Reverse args to memmem. + (do_exec): Don't vm_deallocate DEALLOCNAMES or DESTROYNAMES; mig + deallocates the space for us. + +Tue May 17 13:33:41 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * exec.c (S_exec_init): Don't deallocate host_priv until after + we've used it in the call to startup_essential_task. + +Thu May 12 03:53:57 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * exec.c (S_fsys_init): Add reply port args. + +Wed May 11 16:03:07 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * exec.c (S_exec_init): Spelling fix. + + * Makefile (exec.o): Add dependencies on fsys_S.h and notify_S.h. + (fsysServer.c, notifyServer.c): Notice that these rules build + fsys_S.h and notify_S.h respectively. + +Mon May 9 17:06:52 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * exec.c (exec_version, save_argv): New variable. + (main): Set save_argv. + (S_exec_init): Give the real argv to proc. + Call proc_register_version if we can. + (S_exec_init): Call startup_essential_task if we can. + +Thu May 5 06:25:02 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makefile: Change uses of $(headers) to $(includedir). + + * exec.c: Change return type of all RPC server functions to + kern_return_t. error_t is not compatible with the declarations in + the mig-generated header files. + + * exec.c (do_exec): Set BOOT->stack_base and BOOT->stack_size with + mach_setup_thread. + (S_exec_exec): Pass msg type arg for FILE arg to exec_exec. + +Thu Dec 23 18:05:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * exec.c (do_exec): For a newtask exec when EXEC_SECURE is not set + and OLDTASK is not null, send the `task_create' RPC on OLDTASK + rather than mach_task_self (). |