summaryrefslogtreecommitdiff
path: root/exec/exec.c
AgeCommit message (Collapse)Author
2002-05-11(prepare): fix last changeRoland McGrath
2002-05-102002-05-10 Roland McGrath <roland@frob.com>Roland McGrath
* exec.c (prepare): Do io_stat when io_map fails as for when io_map_cntl fails.
2002-04-272002-04-27 Roland McGrath <roland@frob.com>Roland McGrath
* 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-01-022002-01-02 Roland McGrath <roland@frob.com>Roland McGrath
* exec.c (do_exec) [KERN_INVALID_LEDGER]: Pass extra arguments to task_create for OSF variant.
2002-01-012001-12-31 Roland McGrath <roland@frob.com>Roland McGrath
* exec.c (do_exec): thread_array_t -> thread_t *
2001-06-162001-06-15 Roland McGrath <roland@frob.com>Roland McGrath
* exec.c (do_exec: user_fd): Add a user ref to returned port.
2000-10-012000-10-01 Roland McGrath <roland@frob.com>Roland McGrath
* 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-03-262000-03-23 Mark Kettenis <kettenis@gnu.org>Mark Kettenis
* exec.c (do_exec): Set interp.file to MACH_PORT_NULL before the first `goto out'.
2000-03-172000-03-17 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* main.c (S_exec_init): Don't use MOVE_SEND in Hurd RPC.
2000-03-172000-03-17 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* exec.c (do_exec): Use ports_get_send_right.
2000-03-132000-03-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* exec.c [! EXECDATA_STREAM] (prepare_stream): Replace no-op with real function to initialize map_* members to zero.
2000-03-132000-03-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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.
2000-03-132000-03-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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.
2000-03-132000-03-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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.
1999-07-181999-07-17 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* exec.c (servercopy): Removed unused variable.
1999-07-111999-07-11 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* exec.c (load_section): Fix typos in last change.
1999-07-111999-07-06 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* 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-101999-07-10 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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.
1999-07-031999-07-03 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* 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-041999-06-04 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* exec.c (map): Fix mapping calls to use F->__offset consistently instead of F->__target.
1999-04-301998-09-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>Thomas Bushnell
* 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-271999-04-27 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* exec.c (do_exec): Implement EXEC_SIGTRAP flag.
1998-12-271998-12-26 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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-07-161998-07-15 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* exec.c (do_exec): Set boot->phdr_addr and boot->user_entry after loading, to addresses adjusted for actual run-time load address.
1996-11-18Mon Nov 18 17:45:48 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* 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.
1996-10-08Mon Oct 7 21:31:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* 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.
1996-07-08(S_exec_exec): Don't use unsafe MOVE_SEND in call to interruptibleMichael I. Bushnell
exec_exec stub.
1996-06-20(do_exec): In proc_setowner code, deal with error from auth_getidsMichael I. Bushnell
more loosely.
1996-06-20fixupMichael I. Bushnell
1996-06-20(do_exec): Call proc_setowner *after* possible proc_reassign;Michael I. Bushnell
otherwise it modifies the stub process's state and not the real process's.
1996-06-19(do_exec, S_exec_exec): Pass 0 for new LOOKUP arg to hurd_file_name_lookup.Miles Bader
1996-06-13(do_exec): Add code missing from last change.Michael I. Bushnell
1996-06-13(do_exec): If secure, set the owner with proc_setowner.Michael I. Bushnell
1996-05-10(do_exec): Use new auth_user_authenticate interface.Michael I. Bushnell
1996-05-03(map): Use F->__offset and F->__target properly.Roland McGrath
1996-05-02(map): Fix fencepost error in check of current mapping window.Roland McGrath
Request round_page (LEN) bytes in io_read to avoid many small reads.
1996-05-02(do_exec): Terminate OLDTASK if we get an error after killing its threadsRoland McGrath
and deallocating its address space.
1996-04-30(check_gzip) [ziprderr]: Treat all read errors as ENOEXEC. First off,Michael I. Bushnell
because that's what they are; also because some callers of read_error don't set errno at all.
1996-04-27Use ports_create_port instead of ports_allocate_port, and notice the error.Roland McGrath
1996-04-08(prepare):Miles Bader
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.
1996-01-30(S_exec_exec):Miles Bader
Use strdupa(). Update use of hurd_file_name_lookup() [still probably not right though].
1996-01-11(S_exec_exec): Use envz_get() to search the environment.Miles Bader
1996-01-04(safe_bzero): Rewritten using hurd_catch_signal.Roland McGrath
1995-12-29(do_exec):Miles Bader
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.
1995-12-15(map): Rearrange code to fix some bugs and not remap unless necessary.Roland McGrath
(input_room): Simplify. (check_elf): Extract all information from file header before calling `map' for program headers.
1995-11-21(safe_bzero): New function, broken out of load_section.Roland McGrath
(load_section): Call it.
1995-11-21(load_section): Undo boneheaded last change.Roland McGrath
1995-11-21(load_section): Declare ADDR and VM_PROT volatile.Michael I. Bushnell
1995-11-13(S_exec_startup): Compatibility RPC removed.Roland McGrath
1995-11-13(load_section): Catch faults while zeroing partial bss page.Roland McGrath