Commit Graph

73 Commits

Author SHA1 Message Date
mycroft feb42498e3 If we abort, make sure to free ep_emul_arg. 1995-12-09 04:11:00 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
thorpej 60024eb978 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 21:40:36 +00:00
christos 7de0fcfd12 Add KTR_EMUL to indicate a switch between syscall emulations.
Currently this record is emitted only on exec. Maybe it should
be emitted on ktrace() attach too.
1995-07-19 15:19:08 +00:00
mycroft bfd22ffde8 Generate the new ps_strings format. 1995-05-16 14:19:03 +00:00
cgd 2581c66077 remember first error code (if any) that's different than ENOEXEC.
Not perfect, but there's no perfect solution to the "multiple interesting
error codes" problem.
1995-05-01 22:36:45 +00:00
christos 3d1b06ab09 - new copyargs routine.
- use emul_xxx
- deprecate nsysent; use constant SYS_MAXSYSCALL instead.
- deprecate ep_setup
- call sendsig and setregs indirectly.
1995-04-22 19:42:47 +00:00
mycroft c75f9f2e07 Change `fdclose' to `fdrelease', to avoid confusion with device interfaces. 1995-04-10 18:27:59 +00:00
fvdl 366ba9b889 Use sigcode fields in package structure. This seems to be the cleanest
way to deal with seperate trampoline code for emulation of other OSs,
it avoids having to clutter up kern_exec.c any further.
1995-04-07 22:33:23 +00:00
mycroft 2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
cgd 6782442a8c use long for argc, envc, and u_long for len. 1995-03-08 01:23:00 +00:00
cgd c7fde1470b various XXX changes that linux bins need to get their args correctly. 1995-02-28 23:09:01 +00:00
mycroft e8f67573e2 Align the stack even if envp is NULL. 1995-02-22 01:39:56 +00:00
mycroft a8dd9a66e2 Optimize differently. 1995-02-04 14:44:48 +00:00
mycroft 5561e58072 Small optimization. 1995-02-04 14:22:13 +00:00
mycroft 90ef05a32c Use common fdclose() rather than a private version. 1994-12-04 03:10:40 +00:00
deraadt dc7de949e9 change exec_setup_fcn() to be more useful (from christos) 1994-10-24 05:32:19 +00:00
cgd 6b86130410 update for new syscall args description mechanism 1994-10-20 04:22:35 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
mycroft 699bbb84b6 Update to 4.4-Lite fs code. 1994-06-08 11:28:29 +00:00
mycroft d1f36d3007 fname --> path 1994-05-27 08:44:12 +00:00
deraadt d0f39cffd9 return 0 on success 1994-05-27 07:58:37 +00:00
cgd ebcaebd335 MIN -> min, MAX -> max 1994-05-24 02:35:53 +00:00
cgd 82fabd73d5 struct execve_args now defined in exec.h 1994-05-21 07:48:10 +00:00
cgd 72db136279 kill bogus include 1994-05-07 04:17:10 +00:00
cgd 4bbabd8e7a Rename a lot of process flags. 1994-05-04 03:41:12 +00:00
cgd f50f031448 kill syscall name aliases. no user-visible changes 1994-04-29 04:41:02 +00:00
cgd 675a199909 SUGID semantics, similar to 4.4BSD 1994-04-07 00:40:14 +00:00
cgd a790e23e87 simplify error returns, and fix bugs 1994-02-16 01:21:00 +00:00
mycroft 974e9ba226 Fix typo in last change. 1994-02-12 07:19:11 +00:00
cgd 3a46cb73c6 ditto on the last; weird failure modes are the cause of the day. 1994-02-12 07:02:34 +00:00
cgd 64517d6f7f don't forget to deallocate vmcmds if exec fails bounds checks.
thanks to charles for pointing it out.
1994-02-12 04:13:43 +00:00
cgd 114cf35108 dtrt with exec header size 1994-02-05 02:23:30 +00:00
cgd 8c996398fc clean up, break script handling out of check_exec(), and comment a bit. 1994-01-16 03:09:59 +00:00
cgd 8ca18c3fa8 use exec_map 1994-01-13 06:23:57 +00:00
cgd 7422e2a40c trim debugging code, for now, and kill dead code (unused options) 1994-01-13 02:33:57 +00:00
cgd 4c8ff3970f try until error != ENOEXEC, so that formats can report errros reasonably 1994-01-09 17:11:42 +00:00
cgd 34ea9285e9 de-macroify kill_vmcmds() 1994-01-08 18:05:29 +00:00
cgd 957ce06f24 far reaching but relatively minor cleanup and slight reorg of exec code 1994-01-08 07:14:24 +00:00
mycroft 8955aeedd5 #include vm_user.h. 1994-01-08 04:15:41 +00:00
cgd 914aac9116 field name change 1994-01-04 11:29:55 +00:00
cgd a67d24d94b add support for p_vnode, from jsp 1993-12-22 13:39:27 +00:00
deraadt c38503af4d sparc must flush register windows before vm_deallocate or else fireworks
must deallocate shm's
set/reset emulation environment at the right times
keep arg buffer around for later use
canonicalize all #includes.
support STACKGAP for COMPAT_SUNOS code
support OMAGIC/NMAGIC-style memory loading
don't assume VM_MIN_ADDRESS is 0.
(changes come from magnum branch)
1993-12-12 19:38:37 +00:00
mycroft 620a222f9f If EXEC_DEBUG, display name of file we're trying to exec. 1993-12-06 14:18:58 +00:00
cgd dde22728d4 drag changes down from magnum 1993-11-15 10:21:08 +00:00
cgd 13ca4d98c7 it's correct to return EACCES if FS is mounted MNT_NOEXEC. 1993-10-26 01:42:56 +00:00
cgd c7582cbd4f use copyinstr rather than strcpy to copy in the saved shell-script
name from userland.  From Markus Wild, mw@lamp
1993-10-26 00:32:29 +00:00
cgd a84055b552 use the ALIGN macro to align the stack, rather than rounding up
by a (char *).  the former is safe, even on strange machines
(read: sparc).
1993-10-06 07:27:58 +00:00
cgd 83aeee1bc0 there now exists an "exec switch". break the a.out code into another
module, and tidy up the interface so that other object formats are
more easily supportable.
1993-09-05 01:33:35 +00:00
cgd 491d6b4b9d fix problem where exec would lose on shell scripts with symlinks in
their names.  fix from "James W. Dolter" <jdolter@sawtooth.eecs.umich.edu>.
test script:

#!/bin/csh
mkdir /tmp/foodir
cat > /tmp/foodir/testscript <<EOF
#!/bin/sh
echo "Executing script \$1"
EOF
chmod 755 /tmp/foodir/testscript
(cd /tmp ; ln -s foodir foosym)
echo "Trying full path (w/o symlink) to /tmp/foodir/testscript"
/tmp/foodir/testscript "with out symlink"
echo "Trying full path (w/ symlink) to /tmp/foosym/testscript"
/tmp/foosym/testscript "with symlink"
echo "End of Test"
1993-09-01 21:43:50 +00:00