aboutsummaryrefslogtreecommitdiff
path: root/exec/exec.c
Commit message (Collapse)AuthorAgeFilesLines
...
* 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).
* (S_fsys_forward): New stub function.Roland McGrath1995-08-281-2/+6
|
* (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.
* (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.
* (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
|
* Update BFD code; it works now.Roland McGrath1995-01-221-29/+40
|
* [BFD] (bfd_mach_host_arch_mach): In decl, MACHINE arg is `long int *' now.Roland McGrath1995-01-151-8/+11
| | | | | | | | | [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.
* (struct execdata): New members `headbuf', `file_data', `optimal_block'.Roland McGrath1994-12-121-85/+300
| | | | | | | | | | | | | | | | | | (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.
* (set_active_trans): Don't deallocate EXECNODE here to work around aMichael I. Bushnell1994-11-091-1/+2
| | | | ufs bug.
* Include <hurd/paths.h> and <fcntl.h>.Michael I. Bushnell1994-11-091-0/+3
| | | | (set_active_trans): Declare as void.
* (set_active_trans): New function.Michael I. Bushnell1994-11-091-0/+19
| | | | (S_exec_init): Call set_active_trans.
* entered into RCSMichael I. Bushnell1994-08-311-7/+13
|
* Formerly exec.c.~84~Roland McGrath1994-08-311-24/+46
|
* Formerly exec.c.~83~Michael I. Bushnell1994-08-301-11/+32
|
* Formerly exec.c.~82~Michael I. Bushnell1994-08-291-9/+24
|
* Formerly exec.c.~81~Michael I. Bushnell1994-08-171-25/+16
|
* Formerly exec.c.~80~Michael I. Bushnell1994-08-161-6/+10
|
* Formerly exec.c.~79~Roland McGrath1994-08-161-2/+4
|
* Formerly exec.c.~78~Michael I. Bushnell1994-08-151-52/+107
|
* Formerly exec.c.~77~Michael I. Bushnell1994-07-221-2/+2
|
* Formerly exec.c.~76~Michael I. Bushnell1994-07-201-1/+1
|
* Formerly exec.c.~75~Michael I. Bushnell1994-07-191-6/+6
|
* Initial revisionMichael I. Bushnell1994-06-241-0/+1516