Age | Commit message (Collapse) | Author |
|
|
|
* exec.c (prepare): Do io_stat when io_map fails as for when
io_map_cntl fails.
|
|
* 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.
|
|
* exec.c (do_exec) [KERN_INVALID_LEDGER]:
Pass extra arguments to task_create for OSF variant.
|
|
* exec.c (do_exec): thread_array_t -> thread_t *
|
|
* exec.c (do_exec: user_fd): Add a user ref to returned port.
|
|
* 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.
|
|
* exec.c (do_exec): Set interp.file to MACH_PORT_NULL before the
first `goto out'.
|
|
* main.c (S_exec_init): Don't use MOVE_SEND in Hurd RPC.
|
|
* exec.c (do_exec): Use ports_get_send_right.
|
|
* 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.
|
|
* 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.
|
|
* exec.c (servercopy): Removed unused variable.
|
|
* exec.c (load_section): Fix typos in last change.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* exec.c (map): Fix mapping calls to use F->__offset consistently
instead of F->__target.
|
|
* 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.
|
|
* exec.c (do_exec): Implement EXEC_SIGTRAP flag.
|
|
* 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.
|
|
* exec.c (do_exec): Set boot->phdr_addr and boot->user_entry after
loading, to addresses adjusted for actual run-time load address.
|
|
* 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.
|
|
* 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.
|
|
exec_exec stub.
|
|
more loosely.
|
|
|
|
otherwise it modifies the stub process's state and not the real
process's.
|
|
|
|
|
|
|
|
|
|
|
|
Request round_page (LEN) bytes in io_read to avoid many small reads.
|
|
and deallocating its address space.
|
|
because that's what they are; also because some callers of read_error
don't set errno at all.
|
|
|
|
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.
|
|
Use strdupa().
Update use of hurd_file_name_lookup() [still probably not right though].
|
|
|
|
|
|
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.
|
|
(input_room): Simplify.
(check_elf): Extract all information from file header before calling `map'
for program headers.
|
|
(load_section): Call it.
|
|
|
|
|
|
|
|
|