summaryrefslogtreecommitdiff
path: root/exec
diff options
context:
space:
mode:
Diffstat (limited to 'exec')
-rw-r--r--exec/ChangeLog1082
1 files changed, 0 insertions, 1082 deletions
diff --git a/exec/ChangeLog b/exec/ChangeLog
deleted file mode 100644
index a9300bfa..00000000
--- a/exec/ChangeLog
+++ /dev/null
@@ -1,1082 +0,0 @@
-2009-04-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
-
- * exec.c (prepare): Call PREPARE_STREAM earlier to permit calling
- finish_mapping on E even after errors, as is already done in do_exec.
-
-2008-06-10 Samuel Thibault <samuel.thibault@ens-lyon.org>
-
- * elfcore.c (TIME_VALUE_TO_TIMESPEC): Completely implement instead of
- casting `time_value *' into `struct timeval *'.
- (dump_core): Reimplement timeradd instead of casting `time_value *'
- into `struct timeval *'.
-
-2004-10-22 Roland McGrath <roland@frob.com>
-
- * exec.c (check_elf_phdr): Return early on setting ENOEXEC.
- Only touch E->info.elf.phdr_addr once, on the PT_LOAD segment that
- actually contains the e_phoff location in the file.
- (do_exec): If E.info.elf.phdr_addr is zero, don't set BOOT->phdr_size.
-
-2004-09-26 Roland McGrath <roland@frob.com>
-
- * priv.h (struct execdata.info.elf): New field `phdr_addr'.
- * exec.c (check_elf): Set E->info.elf.phdr_addr here from e_phoff.
- (check_elf_phdr): Don't check for PT_PHDR, remove last two args.
- (do_exec): Update callers. Set BOOT->phdr_addr and BOOT->phdr_size
- using info saved by check_elf.
-
-2004-02-11 Roland McGrath <roland@frob.com>
-
- * exec.c (servercopy): Change signature to avoid casted arguments.
- Update callers.
- (do_exec, S_exec_setexecdata): Update callers.
-
-2004-02-10 Roland McGrath <roland@frob.com>
-
- * elfcore.c (dump_core): Include null terminator in note name size,
- and round up to four byte alignment.
- (dump_core: write_note): Don't round OFFSET after each partial write.
- (dump_core): Don't round up to page size before writing notes.
- Do round up to page size for offset of each PT_LOAD region.
-
-2004-01-15 Roland McGrath <roland@frob.com>
-
- * priv.h (struct execdata.info.elf): Add `execstack' flag.
- * exec.c (check_elf_phdr): Set it according to PT_GNU_STACK's PF_X
- flag bit. If no PT_GNU_STACK, default to set.
- (do_exec): If flag is clear, remove execute permission from stack.
-
-2002-09-17 Roland McGrath <roland@frob.com>
-
- * elfcore.c [i386_THREAD_STATE] (fetch_thread_regset): The two types
- are not actually identical, must rearrange some members a little.
-
-2002-06-13 Roland McGrath <roland@frob.com>
-
- * priv.h (trivfs_protid_t): Type removed (now in trivfs.h).
-
-2002-05-29 Roland McGrath <roland@frob.com>
-
- * hashexec.c (check_hashbang): Fix fs id port arg in io_identity call.
-
- * elfcore.c (dump_core): int -> size_t
-
-2002-05-10 Roland McGrath <roland@frob.com>
-
- * exec.c (prepare): Do io_stat when io_map fails as for when
- io_map_cntl fails.
-
-2002-05-01 Roland McGrath <roland@frob.com>
-
- * elfcore.c [ALPHA_THREAD_STATE]
- (ELF_MACHINE, fetch_thread_regset, fetch_thread_fpregset):
- New definitions for Alpha CPU.
-
-2002-04-27 Roland McGrath <roland@frob.com>
-
- * priv.h: Include <link.h> to get ElfW macro.
- * priv.h, exec.c, main.c, hostarch.c: Use `ElfW(TYPE)' in place
- of `Elf32_TYPE' throughout.
-
-2002-03-11 Roland McGrath <roland@frob.com>
-
- * core.c: File removed.
- * Makefile (DIST_FILES): Remove core.c from the list.
-
- * elfcore.c: New file, used by crash server (../trans) to write
- ELF core dump files. Thanks to Jon Arney <jarney1@cox.net> for
- spurring me to write this, and for helping to test and debug it.
-
-2002-01-02 Roland McGrath <roland@frob.com>
-
- * exec.c (do_exec) [KERN_INVALID_LEDGER]:
- Pass extra arguments to task_create for OSF variant.
-
-2002-01-01 Roland McGrath <roland@frob.com>
-
- * execmutations.h (SERVERCOPY): New macro.
-
-2001-12-31 Roland McGrath <roland@frob.com>
-
- * exec.c (do_exec): thread_array_t -> thread_t *
-
-2001-11-23 Roland McGrath <roland@frob.com>
-
- * gcore.c: File moved to ../utils.
- * Makefile (DIST_FILES): Remove it.
-
-2001-04-01 Neal H Walfield <neal@cs.uml.edu>
-
- * main.c (S_exec_init): Use iohelp_create_empty_iouser.
-
-2001-06-15 Roland McGrath <roland@frob.com>
-
- * exec.c (do_exec: user_fd): Add a user ref to returned port.
-
-2001-02-12 Marcus Brinkmann <marcus@gnu.org>
-
- * main.c: Change hurd version name from proc to exec.
- (main): Add period to doc string.
-
-2000-10-01 Roland McGrath <roland@frob.com>
-
- * exec.c: Comments.
-
-2000-09-24 Roland McGrath <roland@frob.com>
-
- * exec.c (map): Bail if the requested position + data size does not
- fit in the file size.
-
-2000-07-26 Mark Kettenis <kettenis@gnu.org>
-
- * Makefile (HURDLIBS): Reorder libs such that the threads lib
- comes before the ports lib. This makes sure the functions in
- libthreads properly override the stubs in libports with the new
- dynamic linker semantics in glibc 2.2.
-
-2000-07-20 Thomas Bushnell, BSG <tb@mit.edu>
-
- * hashexec.c (check_hashbang): Count characters in interp
- correctly. Fix from Kalle Olavi Niemitalo <tosi@stekt.oulu.fi>.
-
-2000-03-23 Mark Kettenis <kettenis@gnu.org>
-
- * exec.c (do_exec): Set interp.file to MACH_PORT_NULL before the
- first `goto out'.
-
-2000-03-20 Roland McGrath <roland@baalperazim.frob.com>
-
- * main.c (trivfs_allow_open): Initialize to zero.
- (trivfs_support_read, trivfs_support_write): Likewise.
- (trivfs_support_exec): Variable removed.
-
- * exectrans.c: Obsolete file removed.
- * Makefile (DIST_FILES): Remove it.
-
-2000-03-17 Roland McGrath <roland@baalperazim.frob.com>
-
- * hashexec.c (check_hashbang): Use strpbrk directly instead of strsep.
- Fix up INTERP_LEN properly in the no-argument case.
-
-2000-03-17 Thomas Bushnell, BSG <tb@mit.edu>
-
- * main.c (S_exec_init): Don't use MOVE_SEND in Hurd RPC.
-
-2000-03-17 Roland McGrath <roland@baalperazim.frob.com>
-
- * exec.c (do_exec): Use ports_get_send_right.
-
-2000-03-13 Roland McGrath <roland@baalperazim.frob.com>
-
- * priv.h (EXECDATA_STREAM): Define this only #ifdef BFD.
- The non-BFD exec server is now completely independent of stdio magic;
- it uses only those interfaces documented in the C library manual,
- which are provided both by old GNU stdio and by GNU libio.
- Resurrecting the BFD exec server will require using magic again,
- for which libio-specific magic needs to be written.
-
- * exec.c [! EXECDATA_STREAM] (prepare_stream): Replace no-op with real
- function to initialize map_* members to zero.
-
- * priv.h (EXECDATA_STREAM): New macro, always defined for now.
- (struct execdata) [! EXECDATA_STREAM]: Add members
- map_buffer, map_bsize, map_fsize, map_filepos in place of stream.
- (map_buffer, map_filepos, map_set_fsize): New macros for accessing
- those or stream.
- [! EXECDATA_STREAM] (map_fsize, map_vsize): Define using new members.
-
- * exec.c (map): Rewritten purely using those accessor macros.
- (input_room): Set the __target, __bufp, __error, and __eof members,
- which are no longer set by map.
- [! EXECDATA_STREAM] (prepare_stream, prepare_in_memory): Make no-ops.
- (input_room, close_exec_stream, fake_seek, prepare_stream,
- prepare_in_memory): Conditionalize these defns on [EXECDATA_STREAM].
- (load_section): Always use map instead of stdio.
- Replace bcopy with memcpy.
- (check_gzip: zipread): Rewrite using map instead of stdio.
- (check_bzip2: zipread): Likewise.
-
- * hashexec.c (check_hashbang): Fix up multiple fencepost brainos.
-
- * hashexec.c (check_hashbang): Fix fencepost error in last change.
-
- * exec.c (map): Made global.
- * priv.h: Declare it.
- (map_fsize, map_vsize): New macros for accessing state set up by map.
- * hashexec.c (check_hashbang): Use map and copying operations rather
- than stdio to extract the first line from the file. Move finish call
- to immediately after reading the line.
-
- * exec.c (map): If E->file_data is set, diagnose EOF before going to
- direct io_read.
- (prepare_in_memory): New function, broken out of check_gzip before
- last change.
- (check_gzip, check_bzip2): Use it.
-
- * exec.c (prepare_stream): New function, broken out of prepare.
- (prepare): Call it.
- [_STDIO_USES_IOSTREAM]: Do #error if this is defined.
- (map, input_room, close_exec_stream, fake_seek, prepare_stream):
- Conditionalize all these definitions on [! _STDIO_USES_IOSTREAM].
- Only map and prepare_stream are called from elsewhere in the code.
- (check_gzip): Don't reinitialize E->stream, since it will in fact not
- be used again.
- (check_bzip2): Likewise.
-
-2000-03-09 Roland McGrath <roland@baalperazim.frob.com>
-
- * hostarch.c (elf_machine_matches_host): Don't recognize EM_486,
- since newer <elf.h>'s don't define it any more.
-
-2000-02-27 Roland McGrath <roland@baalperazim.frob.com>
-
- * hashexec.c (check_hashbang: user_fd): Add a user ref to DTABLE[FD]
- send right, because caller (hurd_file_name_lookup internals) will
- consume one.
-
- * hashexec.c (check_hashbang): When dealloc'ing DTABLE ports,
- optimize out syscall for null ports.
-
-1999-11-08 Roland McGrath <roland@baalperazim.frob.com>
-
- * exectrans.c (trivfs_support_write, trivfs_support_exec): Variables
- removed.
- (trivfs_allow_open): Set to just O_READ.
-
-1999-09-09 Roland McGrath <roland@baalperazim.frob.com>
-
- * Makefile (exec.static-LDFLAGS): Variable removed.
-
-1999-07-17 Roland McGrath <roland@baalperazim.frob.com>
-
- * exec.c (servercopy): Removed unused variable.
-
-1999-07-11 Roland McGrath <roland@baalperazim.frob.com>
-
- * exec.c (load_section): Fix typos in last change.
-
-1999-07-11 Thomas Bushnell, BSG <tb@mit.edu>
-
- * exec.c (load_section): Use mmap instead of vm_allocate when
- allocating in mach_task_self ().
- (servercopy): Likewise.
- (do_exec): Likewise.
- * hashexec.c (check_hashbang): Likewise.
-
-1999-07-10 Roland McGrath <roland@baalperazim.frob.com>
-
- * hostarch.c (mach_host_elf_machine): Replaced with ...
- (elf_machine_matches_host): New function. Instead of returning
- an ELF EM_* code, take one and check if it matches the host;
- operate only on mach_host_self(), cache results,
- Grok CPU_TYPE_{I486,PENTIUM,PENTIUMPRO} to accept EM_386 or EM_486.
- Grok POWERPC, ALPHA, HPPA types.
- * exec.c (check_elf): Call elf_machine_matches_host instead of
- comparing against elf_machine.
- (load_section): #if 0 out no-op code that uses elf_machine.
- * priv.h (elf_machine_matches_host): Declare it.
- (elf_machine, mach_host_elf_machine): Remove decls.
- * main.c (main) [!BFD]: Don't call mach_host_elf_machine.
- (elf_machine): Variable removed.
-
- * exec.c (map): Don't cast arg to munmap to vm_address_t.
-
- * priv.h: Add #include <sys/mman.h> for munmap decl.
-
-1999-07-03 Thomas Bushnell, BSG <tb@mit.edu>
-
- * core.c (core_dump_task): Use munmap instead of vm_deallocate,
- when it's from our own task.
- * elfcore.c: Likewise.
- * exec.c (load_section): Likewise.
- (map): Likewise.
- (close_exec_stream): Likewise.
- (finish_mapping): Likewise.
- (load): Likewise.
- (do_exec): Likewise.
- (S_exec_setexecdata): Likewise.
- * hashexec.c (check_hashbang): Likewise.
- * main.c (deadboot): Likewise.
-
-1999-06-04 Roland McGrath <roland@baalperazim.frob.com>
-
- * exec.c (map): Fix mapping calls to use F->__offset consistently
- instead of F->__target.
-
-1999-05-16 Roland McGrath <roland@baalperazim.frob.com>
-
- * hashexec.c (check_hashbang): Fix bug in last change.
-
-1999-05-15 Roland McGrath <roland@baalperazim.frob.com>
-
- * hashexec.c (check_hashbang): Trim trailing blanks after interpreter
- argument.
-
-1998-09-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
-
- * do-bunzip2.c: New file.
- * exec.c (check_bzip2): New function.
- (BZIP2): New cpp symbol. If defined, bunzip2 engine is enabled.
- * Makefile (bzip2-objects): New variable.
- (OBJS): Add bzip2-objects.
- (CPPFLAGS): Add -DBZIP2.
-
-1999-04-27 Roland McGrath <roland@baalperazim.frob.com>
-
- * exec.c (do_exec): Implement EXEC_SIGTRAP flag.
-
-1998-12-27 Roland McGrath <roland@baalperazim.frob.com>
-
- * main.c (S_exec_init): Deallocate PROCSERVER port when finished.
-
-1998-12-27 Roland McGrath <roland@baalperazim.frob.com>
-
- * main.c (S_exec_init): Remove variable DEV_MASTER; pass null instead
- since we don't need it. Use assert_perror on getting the host-priv
- port and on startup_essential_task, since init will hang until we've
- done made that RPC.
-
-1998-12-26 Roland McGrath <roland@baalperazim.frob.com>
-
- * exec.c (do_exec): Fix conditional for cleaning up INTERP,
- from nonnull E.interp.section to nonnull INTERP.file.
- If we failed to open the interpreter file, INTERP.file will be
- null and the rest of INTERP will be uninitialized.
-
-1998-12-21 Roland McGrath <roland@baalperazim.frob.com>
-
- * main.c (S_exec_init): Don't call set_active_trans.
- (set_active_trans): Function removed.
-
- * Makefile (HURDLIBS): Add missing implied library deps.
-
-1998-11-25 Mark Kettenis <kettenis@phys.uva.nl>
-
- * main.c (S_exec_init): Call _hurd_proc_init with new args set to
- zero.
-
- * hashexec.c (check_hashbang): Fix typo: interplen -> interp_len.
-
-Thu Nov 5 15:26:50 1998 Thomas Bushnell, BSG <tb@mit.edu>
-
- * hashexec.c (check_hashbang): Keep INTERP_LEN with the correct
- value (bytes of memory holding INTERP) for later use.
- (check_hashbang: setup_args): Set argv[0] from the interpreter
- name, not copied from the existing command line.
-
-1998-10-26 Roland McGrath <roland@baalperazim.frob.com>
-
- * hashexec.c: Use mach_* instead of __mach_*.
-
-1998-07-15 Roland McGrath <roland@baalperazim.frob.com>
-
- * exec.c (do_exec): Set boot->phdr_addr and boot->user_entry after
- loading, to addresses adjusted for actual run-time load address.
-
-Wed Aug 20 14:02:11 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * main.c (main): New args for
- ports_manage_port_operations_multithread.
-
-1997-06-30 Miles Bader <miles@gnu.ai.mit.edu>
-
- * main.c (main): Arg parsing added.
- (argp_program_version): New variable.
- Include <argp.h>.
-
-Mon Jan 20 16:16:33 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * hashexec.c (check_hashbang): `preempter' -> `preemptor'.
-
-Sat Nov 23 16:26:55 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * priv.h (mach_host_elf_machine): New prototype.
- * hostarch.c: Include "priv.h".
-
-Mon Nov 18 17:45:48 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * exec.c (load_section): If ANYWHERE, then make sure ADDR starts
- out at least past the first page, so that we don't take it. Then
- the library can (if desired) make the page no-access.
-
-Fri Nov 15 17:34:23 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * exec.c: Don't include <hurd/shared.h> any more.
-
- * main.c (S_exec_init): New arg syntax of trivfs_open.
-
-Mon Oct 7 21:31:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * exec.c (fake_seek): New function.
- (prepare): Initialize E->stream.__io_funcs.seek to fake_seek; this
- is called now that stdio doesn't assume it always knows the file
- position.
-
-Thu Sep 12 16:30:12 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * Makefile (HURDLIBS): New variable.
- (exec): Delete special dependencies.
-
-Thu Sep 5 11:11:19 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * main.c: Include <version.h>.
- (exec_version): Delete variable.
- (S_exec_init): Pass empty string as release; HURD_VERSION
- as version.
-
-Thu Aug 29 13:00:38 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * priv.h: Only include <bfd.h> if BFD. Only declare
- host_bfd_arc_info, and bfd_host_bfd if BFD. If not BFD, give
- typedef for asection.
- * main.c: Only define host_bfd_arch_info, host_bfd, and
- bfd_mach_host_arch_mach if BFD.
- (main): Only call bfd_mach_most_arch_mach if BFD.
- Call mach_host_elf_machine.
- * hostarch.c (bfd_mach_host_arch_mach): Only define if BFD.
- Delete arg E_MACHINE. All callers changed.
- (mach_host_elf_machine): New function.
-
-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 ().