Commit Graph

303 Commits

Author SHA1 Message Date
christos 2a17942096 Add the ability to override COMPATREL and COMPATDST similar to libkern 1995-06-26 03:27:13 +00:00
briggs a734709115 Oops... NOARGS for compat_43_sigvec. 1995-06-25 14:58:17 +00:00
briggs e1731cd1bf syscalls.master changed. 1995-06-25 14:18:56 +00:00
briggs de17480671 sigvec -> compat_43_sigvec. 1995-06-25 14:18:35 +00:00
briggs 09e0072b98 Add sunos_emul_path (/emul/sunos). I don't know if this is correct, but
this will at least aid the compilation step and is similar to the
others.
1995-06-25 14:15:08 +00:00
briggs c9917aa539 * Don't include sys/exec.h explicitly--it's not protected against multiple
inclusions and compat_util.h now includes it.
* Declare struct emul *e=p->p_emul in a couple of places so we can use
  STACKGAPBASE macro (should this macro be modified to take a struct
  emul * or struct proc * parameter?).
* Declare extern struct emul emul_sunos for sunos_sigvec's comparison.
1995-06-25 13:11:44 +00:00
christos fc741845e6 Stackgap_init() now takes an p->p_emul argument. 1995-06-24 20:36:28 +00:00
christos d0169ce44a Use compat_util.[ch] 1995-06-24 20:29:17 +00:00
christos 5ad8a15866 Syscalls.master was changed 1995-06-24 20:26:41 +00:00
christos 57b6b2745e Use compat_util.[ch] 1995-06-24 20:22:33 +00:00
christos 6b95b513b0 Use compat_util.[ch]. 1995-06-24 20:20:04 +00:00
christos 3a3aa6407e Use compat_util.[ch] 1995-06-24 20:18:53 +00:00
christos 8207f8e49e Use the new compat_util.h 1995-06-24 20:17:54 +00:00
christos dcb2a50b2b - Extracted all compat routines from the kern directory and moved here.
- Created compat_util.c and compat_util.h to be used by the compatibility
  modules, so they don't duplicate the same code.
- Added prototypes to the stackgap allocation routines.
1995-06-24 20:15:55 +00:00
fvdl cbcf8eee8a Check for invalid filedescriptors in getmsg() and putmsg(). 1995-06-24 18:47:08 +00:00
fvdl 1634acc3e4 Include file change. 1995-06-22 21:35:42 +00:00
fvdl c4aaa6000c * Changed to use generic ELF code from kern/exec_elf.c (which was taken
from the svr4 exec code plus the linux compat mods)
* Include file change
* Add multicast sockopts (from John Brezak)
1995-06-22 21:34:27 +00:00
fvdl 4a10f838e7 Changed to use generic ELF code from kern/exec_elf.c (which was taken
from the svr4 exec code plus the linux compat mods)
1995-06-22 21:32:57 +00:00
cgd 8f62c773e8 don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN 1995-06-18 14:45:14 +00:00
pk 1e070197f4 Go with the flow; use `/emul/sunos' pseudo-root (from Matthew Green).
Note: sunos_stat() and sunos_lstat() were added too.
1995-06-11 22:33:50 +00:00
fvdl 769310e81d Linux select() returns the amount of time left before a timeout would have
occured in the timeval structure. Emulate this behavior. Reported by
Theo de Raadt.
1995-06-11 21:51:38 +00:00
fvdl fb777788b1 Don't forget to acknowledge that all the ELF stuff was taken from
Christos' svr4 code.
1995-06-11 15:15:09 +00:00
fvdl 8bf395c808 Make this link when SYSVXXXX is not enabled too. 1995-06-11 15:07:55 +00:00
fvdl a22d72bf4d * Always kill all vm_cmds before giving up on loading an executable
* Don't try to use auxiliary arguments with statically linked executables.
* Remove 'cannot find interpreter' uprintf, as other exec modules may
  succeed in running the binary after all, and then we don't want this message.
* Some linkers produce rw- for the data segment, not rwx.
* Remove a few debugging printfs
1995-06-11 15:06:11 +00:00
fvdl bfc9b29ab2 Remade these after syscalls.master had changed. 1995-06-11 14:57:56 +00:00
fvdl fc7cfb5f0b * Make Linux ELF binaries work. Lots of code duplication, but it will have to do
for now.
* Add a sanity check in linux_uselib
1995-06-11 14:56:47 +00:00
mycroft abd4cc9991 Remove /dev/zero special case. It's done in mmap(). 1995-06-10 22:45:15 +00:00
mycroft b1868d1bdf Set st_rdev in SVR4 struct stat. 1995-06-10 22:44:18 +00:00
mycroft 1e1e52e395 Rename the dirent fields to match Linux. Make sure the requested buffer
is no larger than MAXBSIZE.
1995-06-10 22:19:06 +00:00
jtc 95ded74f58 Moved egid credential from cr_groups[0] to new field cr_gid. POSIX.1
requires that sgid executables and the setuid() syscall *not* change
the supplemental group list.
1995-06-01 22:43:30 +00:00
mellon b23214bbd9 Clear up name conflict between Ultrix syscall 103 and 139. 1995-06-01 16:38:15 +00:00
mellon ccd1ab13a1 syscall 139 is ULTRIX_SYS_sigcleanup (from Simon Burge) 1995-05-29 17:32:35 +00:00
mycroft cc8da4254d Need netinet/tcp.h. 1995-05-28 10:20:46 +00:00
mycroft 32659780f6 Convert TCP socket options. 1995-05-28 10:16:32 +00:00
mycroft 00569bf574 Fill in `name' argument to getsockopt() correctly. 1995-05-28 09:39:45 +00:00
mycroft 116c7de730 Fix typo. 1995-05-28 08:52:07 +00:00
mycroft e89504670f Convert IP socket options. 1995-05-28 08:50:17 +00:00
mycroft fbc3ef234b Get rid of damned `static's. 1995-05-28 08:09:51 +00:00
mycroft bfd22ffde8 Generate the new ps_strings format. 1995-05-16 14:19:03 +00:00
christos dbb1f513f8 syscalls.master was changed.
Note that COMPAT_OHPUX has been renamed to COMPAT_HPUX_6X and this is a
kernel option now, that should be specified together with COMPAT_HPUX.
1995-05-10 16:47:21 +00:00
christos dd9ece9090 Made this compile on the i386 (gasp)... Someone will need to test it. 1995-05-10 16:45:25 +00:00
mycroft dbaa7014ef Turn off a debugging printf(). 1995-05-07 03:27:37 +00:00
mycroft 4e9f66f9ca Improve Linux signal emulation, and emulate the modify_ldt() call. 1995-05-07 02:59:30 +00:00
mycroft e97a07b5a4 Add stub for linux_modify_ldt(). 1995-05-06 18:17:15 +00:00
mycroft 2b0696ff3c Add linux_modify_ldt(), if __i386__. 1995-05-06 18:16:35 +00:00
pk 4c8828e743 init `mode' field in sunaudiogetinfo(). 1995-05-04 19:46:31 +00:00
mycroft 73fead01fc Fix typos. 1995-05-01 19:45:42 +00:00
mycroft 1ff4bb49de Adjust for new defn of md_regs. 1995-05-01 19:33:17 +00:00
mycroft bc5a1863db Declare sigcode and esigcode. 1995-05-01 19:01:45 +00:00
mycroft 8792c8e284 Save and restore %fs and %gs across signals. 1995-05-01 14:15:07 +00:00
mycroft 17dd9534bf Update to match include files. Eliminate _ucodesel, _udatasel, and IdlePTD. 1995-05-01 08:06:22 +00:00
mycroft 7688f4456e Remove usages of ibcs_sigflags. 1995-05-01 04:50:28 +00:00
christos b9771ef7b1 Try to make the reboot system call compile under sun3 with RB_STRING
support [not tested]
Add files.sunos
Rename system call switch table file from sunos_init_sysent.c to sunos_sysent.c
like other emulations.
1995-04-27 12:05:37 +00:00
gwr f4d7b9097d Make sunos_reboot(RB_STRING,"...") work for sun3.
Could be made to work for sparc too.
1995-04-26 23:12:02 +00:00
mellon 43da4827ae sigcode and esigcode aren't defined for ultrix emulation 1995-04-25 21:51:15 +00:00
briggs c937b8a519 Fix compiler error in sunos_reboot(). 1995-04-23 01:00:46 +00:00
christos 79e736e176 syscalls.master was changed 1995-04-22 23:48:37 +00:00
christos ebdad87ea2 Added sunos_reboot(). 1995-04-22 23:45:29 +00:00
christos de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00
christos 44eef7c28b - added struct emul to all emulations.
- removed all setup functions.
- added copyargs() functions where needed.
1995-04-22 19:48:19 +00:00
mycroft 8c65e4734d Update setup functions for changes in exec.h. 1995-04-18 02:18:08 +00:00
cgd 27228062f9 config.new file lists 1995-04-17 16:12:14 +00:00
mycroft 72adfee7f7 EMUL_IBCS2_ELF -> EMUL_SVR4; EMUL_IBCS2_{COFF,XOUT} -> EMUL_IBCS2 1995-04-13 20:48:14 +00:00
fvdl fb00b736fd Arch dependant defs for Linux. Just signal stackframe definition for now. 1995-04-07 22:31:19 +00:00
fvdl 46de9a804f Changes because of proper Linux signal stackframe building, and
seperate signal trampoline code. Ugly hack in trap.c no longer
needed.
1995-04-07 22:29:34 +00:00
fvdl c37a9a26c6 syscalls.master was changed, so update these 1995-04-07 22:24:11 +00:00
fvdl 623f1e3986 Handle Linux signal tramp code differently. Some changes because of the
now seperate Linux signal trampoline code. Add linux_sigreturn to
syscalls.master.
1995-04-07 22:23:22 +00:00
mycroft cd50457f15 Fix conversion of `type' and `whence' values in struct flock. 1995-04-04 04:21:30 +00:00
pk 1dd6d8a8dd Fix TCGETA compat, from Matthew Green.
SunOS `setaudioinfo' does implicit `getaudioinfo'.
Recognise streams flush/setsig ioctls.
1995-04-02 10:43:29 +00:00
christos c8afb5deaf Syscalls.master was changed 1995-03-31 03:08:25 +00:00
christos ee05f066e8 1. siginfo stuff torn out from wait.h to be used by the MI portion of the code.
2. many termio, ioctl, sigaction fixes
3. better socket type emulation; still ticotsord [the loopback interface I
   guess] does not work properly on svr4 4.1.
4. new gettimeofday, fixed utssys..
5. rmdir and mkdir were swapped in syscalls.master
1995-03-31 03:06:17 +00:00
cgd fa2133533d invoke ktrsyscall with (vp, code, argsize, args) as args. 1995-03-26 08:03:29 +00:00
mycroft 6865b2589a Emulate the return value of times() better. 1995-03-22 05:24:47 +00:00
scottb 87005937ec add code to zero fill directory name buffer 1995-03-22 01:28:53 +00:00
mycroft f75ba16b09 Update to use timer{add,sub}(). 1995-03-21 13:33:34 +00:00
mycroft 8f96feada8 Correct call to coff_load_shlib(), and prototype it. 1995-03-15 08:14:28 +00:00
scottb 6e5f98b553 updated existing files to use new system call interface.
added new code to support socket interface.
borrowed code from linux/svr4 to use /emul pathnames.
split ibcs2_misc.c into more managable files.
1995-03-14 15:12:17 +00:00
fvdl e0518ae749 Update automatically generated syscall files. 1995-03-10 23:10:35 +00:00
fvdl faf1442285 Add the Linux pause() system call. Fix the arguments to sigsuspend(). 1995-03-10 22:55:04 +00:00
mycroft 2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
fvdl 9e7e8cd294 Add missing structure conversion for IPC_RMID. 1995-03-08 17:27:42 +00:00
fvdl ad4540a424 Fix typo in comment. 1995-03-08 15:17:49 +00:00
cgd 25b31ec7bc mount list is a circleq. 1995-03-08 01:28:55 +00:00
fvdl 182c23c8bc Added a few more system calls.
More consistent alternate root file semantics throughout.
1995-03-05 23:23:37 +00:00
pk a1cfb5b325 Move SunOS audio_info compat stuff here (from sparc/dev/bsd_audio.c). 1995-03-04 09:50:00 +00:00
mycroft 4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
fvdl 3bf459f350 Added Linux compat code. 1995-02-28 23:24:35 +00:00
cgd 41f1c5fa0d generated files. 1995-02-13 21:40:43 +00:00
cgd e5a8a9b897 Initial support for DEC OSF/1 AXP binaries. May be applicable to other OSF/1
systems running a BSD-ish server.  No dynamically linked executable support
(it requires weird execve() hacks...), nor any Mach trap support.  But it
ran lots of statically linked binaries well enough for me to get bootstrapped.
1995-02-13 21:39:00 +00:00
mellon e7859a639f Fix up some incompatibilities and some indentation botches 1995-02-01 05:09:14 +00:00
christos 316fa4de0e Syscalls.master was changed. 1995-02-01 01:41:37 +00:00
christos dbcb84b7e1 Added sigaltstack, ioctl(I_NREAD)
Replaced syssun with svr4_sysarch()
1995-02-01 01:37:33 +00:00
christos a8c747992c syscalls.master was changed 1995-01-25 04:17:45 +00:00
christos 5a54340166 Make siginfo structure a union for clarity. Fix incorrect settings of
the siginfo_t in the waitid() system call.
1995-01-25 04:17:06 +00:00
christos 279d6f3237 wait(2): Put the status in retval[1] as solaris expects it there
avoid infinite loop when looking for / [since it used to return /emul/svr4],
by returning the real root.
1995-01-22 23:44:48 +00:00
mellon 4ecd541c1f Fix up non-ANSI code (which was a no-op anyway) 1995-01-18 06:56:34 +00:00
christos 22572ffee9 More debugging for waitsys()
Fixed uname which was broken since 1.0.
Added timod/getinfo stream ioctl.
Fixed TIOC{G,S}PGRP
Fixed typo in the flags translation
1995-01-10 00:04:03 +00:00
christos 9033addb0c Job control fixes... Still not working, but better 1995-01-09 01:04:18 +00:00
christos e15e38be03 syscalls.master was changed 1995-01-08 21:32:40 +00:00
christos ff6fb90722 Fixed waitsys().
Fixed time functions.
Added alarm(), contextsys(), sigaction(), kill(), statvfs(), fstatvfs()
1995-01-08 21:31:34 +00:00