aboutsummaryrefslogtreecommitdiff
path: root/exec
Commit message (Collapse)AuthorAgeFilesLines
* (safe_bzero): New function, broken out of load_section.Roland McGrath1995-11-211-27/+33
| | | | (load_section): Call it.
* (going_down): Variable removed.Roland McGrath1995-11-211-15/+18
| | | | | | (deadboot): Don't test it. Instead, use ports calls to check if there are no other live ports. (trivfs_goaway): Don't set it.
* (check_hashbang): Undo boneheaded last change.Roland McGrath1995-11-211-4/+4
|
* (load_section): Undo boneheaded last change.Roland McGrath1995-11-211-2/+2
|
* (check_hashbang): Actually declare FILE_NAME and FILE volatile, notMichael I. Bushnell1995-11-211-2/+2
| | | | the contents.
* (check_hashbang) [prepare_args]: Declare FILE_NAME, ERROR, and NAMEMichael I. Bushnell1995-11-211-3/+3
| | | | volatile.
* (load_section): Declare ADDR and VM_PROT volatile.Michael I. Bushnell1995-11-211-2/+2
|
* (user_port): Fixed port selection logic.Roland McGrath1995-11-161-13/+20
| | | | (check_hashbang): Fixed PATH searching in script name guessing.
* (S_exec_startup): Compatibility RPC removed.Roland McGrath1995-11-131-24/+0
|
* (load_section): Catch faults while zeroing partial bss page.Roland McGrath1995-11-131-22/+47
|
* (main): Add FLAGS arg to trivfs_startup call.Miles Bader1995-11-061-1/+1
|
* (S_exec_startup_get_info): New function, modified from S_exec_startup.Roland McGrath1995-10-251-29/+67
| | | | (S_exec_startup): Just call it.
* (exec_demuxer): Call exec_startup_server.Roland McGrath1995-10-251-1/+4
|
* (OBJS): Add exec_startupServer.o.Roland McGrath1995-10-241-1/+2
|
* (struct bootinfo): Use vm_size_t for phdr_size.Roland McGrath1995-10-241-1/+2
|
* (check_hashbang: prepare_args): Enable and clean up code to guess the nameRoland McGrath1995-10-181-88/+87
| | | | of the script before resorting to /dev/fd.
* (check_hashbang): Copy passed args from the right place.Roland McGrath1995-10-181-1/+2
|
* Initial revisionRoland McGrath1995-10-181-0/+442
|
* (struct execdata): Moved to priv.h.Roland McGrath1995-10-181-115/+97
| | | | | | | | | | | (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.
* (SRCS, OBJS): Add hashexec.[co].Roland McGrath1995-10-181-3/+3
| | | | (DIST_FILES): Remove it from here.
* Added some #includes.Roland McGrath1995-10-181-0/+78
| | | | | | (struct execdata): Moved here from exec.c. (std_*): Declare these. (finish, check_hashbang): Declare them.
* Initial revisionRoland McGrath1995-10-112-0/+70
|
* (OBJS): Add main.o; remove fsysServer.o, notifyServer.o.Roland McGrath1995-10-111-3/+7
| | | | | | (LCLHDRS): Add priv.h and execmutations.h. (exec-MIGSFLAGS): New variable. (exec): Depend on livtrivfs, libthreads, libshouldbeinlibc.
* Initial revisionRoland McGrath1995-10-111-0/+282
|
* Server mechanics removed; now uses libtrivfs/libports.Roland McGrath1995-10-111-498/+96
| | | | | | | 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.
* (do_exec): Doc fix.Michael I. Bushnell1995-10-021-0/+4
|
* (do_exec): Don't set NEWTASK's bootstrap port until after we have finishedRoland McGrath1995-09-271-18/+8
| | | | | completely with OLDTASK. (do_mach_notify_no_senders): Remove bogus mod_refs call on receive_portset.
* (struct bootinfo): New members `phdr_addr', `phdr_size', `user_entry'.Roland McGrath1995-09-201-257/+321
| | | | | | (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).
* Remove vpath directive.Roland McGrath1995-09-161-2/+0
|
* (OTHERLIBS, CPPFLAGS): Disable bfd by default.Roland McGrath1995-09-081-2/+2
|
* (S_fsys_forward): New stub function.Roland McGrath1995-08-281-2/+6
|
* (SRCS): Added unzip.c, util.c, and inflate.c.Michael I. Bushnell1995-07-311-1/+1
|
* (bfd_mach_host_arch_mach): Remove assignment from inside if test.Michael I. Bushnell1995-07-071-2/+2
|
* Removed dependencies that are now automatically generated.Michael I. Bushnell1995-07-061-4/+0
|
* (OTHERLIBS): Define var.Michael I. Bushnell1995-07-051-4/+1
| | | | (all, exec): Delete targets.
* (exec): fooMichael I. Bushnell1995-07-051-3/+4
|
* (load_section): Remove assignments from if tests.Michael I. Bushnell1995-06-271-50/+68
| | | | | | | | | | | (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.
* Rewritten to unconditionally return both BFD and ELF machine types.Roland McGrath1995-06-081-40/+13
|
* (struct execdata.info.elf): Add members `anywhere' and `loadbase'.Roland McGrath1995-06-081-123/+167
| | | | | | | | | | | | (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.
* Majorly revamped: Now supports the ELF format directly.Roland McGrath1995-06-051-297/+396
| | | | | Secondarily uses the BFD library #ifdef BFD. Supports gunzipping only #ifdef GZIP.
* Add fsys_set_options, replacing fsys_mod_readonly.Miles Bader1995-05-121-3/+3
|
* (check_gzip): Rewind the stream before calling `get_method'.Roland McGrath1995-04-211-1/+3
| | | | Open a new BFD on the uncompressed data stream before return.
* (struct execdata) [BFD]: New member `interp_section'.Roland McGrath1995-04-101-69/+186
| | | | | | | | | | | | (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.
* (vpath lib%.a): Move this after include ../Makeconf, since it uses aRoland McGrath1995-04-091-1/+2
| | | | variable set there.
* (vpath lib%.a): Add search path.Roland McGrath1995-04-091-6/+8
| | | | | | (exec): Depend on -lbfd and -liberty. (CPPFLAGS): Append -DBFD; omit -DA_OUT_H=... (bfdexec): Target removed.
* (load_section): fseek to desired position before freading.Roland McGrath1995-04-091-2/+12
| | | | (input_room): Always map a page-aligned region.
* (check_section): Don't check SEC_RELOC flag.Roland McGrath1995-02-091-8/+2
|
* (load_section): Don't check SEC_HAS_CONTENTS for clearing overlap bssMichael I. Bushnell1995-02-091-5/+1
| | | | pages.
* (prepare): Fix braino in last change.Roland McGrath1995-01-281-1/+1
|
* (prepare): Give the stream a seek function.Roland McGrath1995-01-281-0/+2
|