Commit Graph

284 Commits

Author SHA1 Message Date
pk 1abecf9a70 Deal with svr4_ulimit() return values in the same way as in
compat_43_sys_setrlimit(). (takes care of PR#4418)

Also in svr4_ulimit(): return EINVAL for unknown commands, instead of ENOSYS.
1997-11-03 22:03:31 +00:00
pk 78ccc57a52 Fix test for NULL arg in svr4_utime() (PR#4418). 1997-11-03 21:33:07 +00:00
christos 8158edb63d Regen 1997-10-28 19:02:52 +00:00
christos b08c2743e7 Put a noop stub for sys_auditsys 1997-10-28 18:58:17 +00:00
christos 09d37c93a5 Implement F_REVOKE, F_FREESP and all the 64 bit calls. 1997-10-28 18:55:56 +00:00
kleink 043c84ea94 Addendum to last commit: don't clobber the read/write byte count when
seeking back to the original offset.
1997-10-28 12:06:56 +00:00
kleink 4174920943 Per X/Open CAE Specification, Issue 5, change the semantics of pread(),
pread64(), pwrite(), pwrite64():
* The `offset' argument specifies an absolute offset within the file.
* After performing the read resp. write operation, restore the original
  offset within the file.
Also, change the argument structure used by svr4_sys_prwite64() to
svr4_sys_pwrite64_args, instead of the 32-bit offset version.
1997-10-27 11:45:57 +00:00
fvdl b2d2f560e8 Fix another eofflag interpretation mistake that I missed when fixing
them.
1997-10-26 11:13:46 +00:00
thorpej 14cd99880c Fix the shared library versioning snafu caused by the recent changes
to the stat(2) family and msync(2).  This uses a primitive function
versioning scheme.

This reverts the libc shared library major version from 13 to 12, and
adds a few new interfaces to bring us to libc version 12.20.

From Frank van der Linden <fvdl@NetBSD.ORG>.
1997-10-20 22:05:06 +00:00
christos eb2b299151 Regen. 1997-10-19 18:45:46 +00:00
christos 423b2ff7b4 Make mman(2) functions args consistent (caddr_t -> void *) 1997-10-19 18:45:04 +00:00
mycroft 429b08a2b4 Use S_IS*(), not S_IF*. 1997-10-19 18:40:11 +00:00
fvdl 33074aa25a Eliminate compile warning because of mmap caddr_t -> void * change. 1997-10-19 00:16:08 +00:00
christos dac5408a54 Regen. 1997-10-17 02:04:28 +00:00
christos f8dee5bcb9 PR/4278: Chris Jones: Fix rlimit function prototypes 1997-10-17 02:03:17 +00:00
mycroft 91302e62ef Regen. 1997-10-16 03:36:14 +00:00
mycroft 68fb837229 Fix a typo inherited from kern/syscalls.master. 1997-10-15 17:18:17 +00:00
fvdl d85f38cbec Fix braino in my interpretation of the eof flag to VOP_READDIR. 1997-10-10 22:16:04 +00:00
fvdl d6e5e295fa Signal error when getting a 64 bit offset cookie that can't be stored
in 32 bits. Provide an error message to the user, and return EINVAL.
Also, pay attention to the EOF flag from VOP_READDIR. Correct a
misspell in a panic message.
1997-10-10 01:42:21 +00:00
mycroft a6aa4731bc Fix errors left over from system call conversion. 1997-09-09 21:14:00 +00:00
bouyer 1cd83a5971 Fix "missing entries" bug when reading large directories: When reading a
directory and running out of space in the dest buffer, off should point to the
current entry (which was not saved) and not to the next.
I discovered this bug using linux and SunOS emulation over NFS, but seems to
affect other emulations as well.
1997-08-04 09:48:07 +00:00
christos 3c27e58f31 Regen. 1997-07-21 23:03:30 +00:00
christos ee8b56d3e6 Add:
64 bit filesystem system calls
	socket system calls
	ntp system calls
1997-07-21 23:02:34 +00:00
pk e3680b0e26 config.new => config 1997-07-20 20:33:08 +00:00
kleink ff831a8fcd regen. 1997-06-27 05:36:07 +00:00
kleink 96588fead9 Use sys_posix_rename() instead of sys_rename() as it's the behaviour of the
native implementation.
1997-06-27 05:29:34 +00:00
mycroft e3f99a9397 Pass the vnode type to vaccess(), and use it when checking VEXEC. Make sure
that the mode bits passed to vaccess() and returned by foo_getattr() contain
only permission bits.
1997-05-08 16:19:43 +00:00
mycroft 837a72363d VEXEC -> VLOOKUP, as appropriate. 1997-05-08 10:57:17 +00:00
christos 8e5e5d1667 Fix reverse test in O_NOCTTY; pointed out by Klaus Klein 1997-04-02 15:29:18 +00:00
christos 6c41fdc592 Handle NULL shmid_ds properly in shmctl. 1997-03-30 17:21:02 +00:00
christos 4fe8f4e95f PR/3354: From Michael Eriksson; I_SETSIG did not handle O_ASYNC properly
and we would never get asynchronous events back. This affected the java
SDK. Also GC O_RAIOSIG which was a Dell/SVR4'ism which is now RIP.
1997-03-18 18:57:19 +00:00
christos f4fdc411c5 Regen 1997-03-15 00:06:47 +00:00
christos 015524c601 Add nice(2). 1997-03-15 00:01:18 +00:00
christos 5426bff5dd Fix incorrect comment about fdinsert 1997-03-15 00:00:09 +00:00
thorpej 8f8abcd69c Regen; makesyscalls.sh emits comments now. 1997-01-13 18:49:02 +00:00
fvdl bb31faf853 Make this compile again, including Politically Correct const handling. 1996-12-22 23:00:02 +00:00
christos 4fd46ff6cb regen 1996-12-06 03:26:33 +00:00
christos 88bb1b35b5 add syscalls acl, facl, memcntl, pause 1996-12-06 03:25:07 +00:00
christos e0c2870d89 implement I_SETSIG 1996-12-06 03:24:32 +00:00
christos 76a77f1302 header for acl, facl 1996-12-06 03:23:30 +00:00
christos ac0cfc70ae implement acl, facl, memcntl 1996-12-06 03:22:34 +00:00
christos e8aaebee8e implement pause 1996-12-06 03:21:53 +00:00
fvdl 0c32bba802 Make this compile with -Wcast-qual. 1996-10-28 08:46:35 +00:00
christos dcf74c0b02 Catch up with Jason changes.
Backout kprintf stuff
1996-10-13 00:08:26 +00:00
christos 5476886e52 printf -> kprintf, sprintf -> ksprintf 1996-10-10 17:47:29 +00:00
cgd 912e6fef44 include <sys/exec.h> rather than <machine/exec.h> 1996-10-07 21:47:33 +00:00
christos 3e00b323f3 Fix PR/2801: Zero length svr4_mmap() should return EINVAL. 1996-10-07 16:16:14 +00:00
cgd 65148dea43 kill (re)definitions of EXEC_ELF32. They're no longer necessary
(because of the EXEC_* option changes), and now cause warnings.
1996-10-03 05:02:05 +00:00
cgd 7c3255776d slightly clean up some of the changes made when ELF64 support went in 1996-09-27 18:14:23 +00:00
cgd 9c3e274c7b adapt ELF-using compat code to use new ELF definitions/code. At this point,
these are restricted to 32-bit ELF, and should be severely cleaned.
1996-09-26 20:52:42 +00:00
christos 42d3980338 Fix PR/2779: statvfs returns incorrect sizes. From Aaron Brown 1996-09-25 04:37:13 +00:00
mycroft 826fb76b6f Regen. 1996-09-07 14:24:17 +00:00
mycroft 1449e67e30 Modify poll(2) prototype. 1996-09-07 14:20:09 +00:00
mycroft f51fa207ba Regen. 1996-09-07 13:01:41 +00:00
mycroft 4a60463da8 This is no longer needed. 1996-09-07 13:01:29 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft a8fd25767d Define execv() and execve() consistently across emulations.
Do path name translation.
1996-09-03 03:12:17 +00:00
christos f8dddb3afe add: I_FDINSERT, _I_BIND_RSVD, _I_RELE_RSVD, SI_SHUTDOWN
this fixes programs that use listen(2) and accept(2), and
makes unix domain sockets work both in tcp and udp.
1996-08-30 23:06:24 +00:00
christos 8979b8342a Fix PR/2599; include <sys/dirent.h> instead of <sys/dir.h> 1996-07-05 16:31:00 +00:00
christos 5d27db0882 Pass the elf exec header in the probe function. 1996-06-13 18:33:54 +00:00
christos 38c8b72648 Many bug fixes... These now work well enough for vi, ksh, csh, stty etc. 1996-06-05 19:27:41 +00:00
christos 13bce5bb2b - report process usage correctly. we used to get panics on SIGTSTP. 1996-06-05 19:26:13 +00:00
christos 53efdc8e32 - return EINVAL on the hardware specific 'X' ioctls, otherwise stty does not
work properly.
- use printf -> uprintf.
1996-06-05 19:24:22 +00:00
christos 7e8a7a54eb - Always check if the file descriptor we are using is a socket.
- Make sure we get an so_internal state allocated, even if we
  did not open the socket ourselves.
1996-06-05 19:10:34 +00:00
christos dd1fe33d2e - Always check if the file descriptor we are using is a socket.
- Make sure we get an so_internal state allocated, even if we
  did not open the socket ourselves.
1996-06-05 19:07:37 +00:00
christos 6ba5bd8c10 Fix OGETUDATA for Solaris-2.3 (From Greg Hudson) 1996-05-13 16:57:50 +00:00
mrg b961912b8a sort this. 1996-05-05 17:14:25 +00:00
christos 029f35aa10 Avoid overruns when copying the interface name. 1996-05-03 17:09:15 +00:00
christos efc7b8aec4 - don't use if_index to get the number of interfaces in SIOCGIFNUM; compute
the actual number.
- forgot to copyout the result in SIOGCIFFLAGS.
1996-04-22 01:17:33 +00:00
christos 02f94c17fb Add SI_SYSTEMINFO from Solaris-2.5 1996-04-22 01:16:04 +00:00
christos 5fda4b10a2 - small ioctl naming changes.
- pass ioctl fd explicitly.
1996-04-11 12:54:40 +00:00
christos 3b309224fd - Pass ioctl file descriptor explicitly.
- some 'T' ioctl's are for streams, call the stream function in the default case
1996-04-11 12:53:48 +00:00
christos 4a0b33e910 Handle different address families, and in particular AF_UNIX. 1996-04-11 12:52:41 +00:00
christos 8edeaa1f71 Add accept message 1996-04-11 12:52:03 +00:00
christos d37bbda397 - keep the address family in the global state, now that we are using it.
- add netaddr_un
1996-04-11 12:50:31 +00:00
christos 0a8a2051dc - Make unix domain sockets work.
- Implement GETSOCKNAME and GETMYNAME
- Implement getmsg(ACCEPT) [incomplete]
- Implement LISTEN [incomplete]

There are too many changes in the code, this is why the incomplete checkpoint.
1996-04-11 12:49:13 +00:00
christos 8294057bdb Svr4 does not have unix domain sockets; it emulates them with mode 0 named
pipes. Emulate that behavior, by telling svr4 we've found mode 0 named pipe
when we find a unix domain socket. Also record the name and device,inode
pair of sockets found.
1996-04-11 12:46:41 +00:00
christos dcf6c8ee56 New files to provide a device,inode -> pathname mapping for unix domain
sockets. This is needed for putmsg(2)
1996-04-11 12:43:29 +00:00
christos 260951021b Use uprintf instead of printf for debugging. Lot's of printing causes panics
on the sparcs, and even if that was not the case, you end up losing text.
1996-04-11 12:41:25 +00:00
christos c5cd2c8f26 Remove dependence on svr4_conf.h and the file itself. 1996-03-30 22:40:55 +00:00
christos 6c2fd36998 Fixed debug printf format args. 1996-03-30 22:37:52 +00:00
christos ed8966b2ea svr4_sigfillset should be void 1996-03-16 23:20:30 +00:00
christos 79344ff371 - add svr4_conf.h
- add window size ioctls
1996-03-14 19:29:11 +00:00
christos 47158e6548 syscalls.master changed 1996-02-10 17:14:07 +00:00
christos eb13d0121e - fixed wrong argument order in xmknod
- added proper support for {f,}pathconf
1996-02-10 17:12:31 +00:00
christos b50214e2fa use %p in printf's instead of casts to (unsigned int) 1996-02-10 00:48:08 +00:00
christos 1b17f25866 fix prototype warnings 1996-02-09 23:12:14 +00:00
christos 065bada41f so_pcb -> so_internal 1996-02-04 02:01:07 +00:00
mycroft f19761346e Do the previous change a little differently. 1996-02-02 08:09:45 +00:00
christos 1c35870a46 syscalls.master was changed 1996-02-02 01:18:09 +00:00
christos 9840c3ca68 Add xmknod() 1996-02-02 01:17:24 +00:00
jtc e19bfae4f9 Rename struct timespec fields to conform to POSIX.1b 1996-02-01 00:18:04 +00:00
mycroft 99686e0059 Add a vnode** argument to getvnode(), prototype it, and make it return
EBADF if the file descriptor has been revoked.
1996-01-30 20:05:33 +00:00
jtc 2fce159ff8 Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
1996-01-04 22:21:33 +00:00
christos ac82785d44 fix compile error from fvdl; thanks. 1995-12-19 18:27:02 +00:00
christos 34af3b306f syscalls.master was changed 1995-12-19 07:14:25 +00:00
christos 20a2ff3d16 Added utime and utimes 1995-12-19 07:12:53 +00:00
mycroft 686dddaff9 Reran makesyscalls.sh. 1995-10-15 06:13:56 +00:00
christos 81ae32e332 syscalls.master was changed. 1995-10-14 20:26:39 +00:00
christos a4e2f7532a - Added msgsys, shmsys and semsys... MITSHM needs shmsys, so X applications
that used that would fail.
- Propagated all the fixes from the fully prototyped kernel.
1995-10-14 20:24:14 +00:00
thorpej d0c7d0fdd6 Add missing F_SETLKW case to svr4_sys_fcntl(), from Niklas Hallqvist
<niklas@appli.se>.
1995-10-09 23:56:17 +00:00
mycroft 652c9eff74 Use cookies for directory offset, mostly from Greg Hudson. 1995-10-09 11:23:57 +00:00
mycroft 6263c69339 Reran makesyscalls.sh. 1995-10-07 06:51:37 +00:00
mycroft 55c46e9514 Reran makesyscalls.sh. 1995-10-07 06:41:34 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
pk 23b15422dc svr4_fcntl: make uap point to argument. 1995-10-02 08:20:47 +00:00
thorpej eecd40e854 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:10:11 +00:00
thorpej c8aae0e18a makesyscalls.sh changed. 1995-09-19 22:05:58 +00:00
cgd ce48e523d6 kill some redundant (and harmful) static definitions of functions 1995-08-19 04:04:50 +00:00
mycroft c331c7be82 Rename ss_flags bits. 1995-08-15 16:52:30 +00:00
mycroft 10c06fe363 Prototype some functions. 1995-08-14 02:22:20 +00:00
mycroft 1e69f23205 Export bsd_to_svr4_sig[], and use it. 1995-08-14 02:07:57 +00:00
mycroft 283f211782 Sort. 1995-08-14 01:34:09 +00:00
mycroft 01fa87477a syscalls.master changed. 1995-08-14 01:29:05 +00:00
mycroft 88b8e43a80 Rearrange #includes. 1995-08-14 01:27:43 +00:00
mycroft 9440382c88 svr4_stack_t --> svr4_sigaltstack 1995-08-14 01:13:29 +00:00
mycroft 05abc039c9 syscalls.master changed. 1995-08-14 01:13:11 +00:00
mycroft eba2f2e81a Move signal types into signal.h. 1995-08-14 01:11:52 +00:00
mycroft 3b76c0ddef svr4_stack_t --> svr4_sigaltstack 1995-08-14 00:57:13 +00:00
mycroft 475edc261c Move definition of sigset_t into types.h. 1995-08-14 00:50:27 +00:00
mycroft ca057762b9 Minor cleanup. 1995-08-14 00:41:02 +00:00
mycroft 1575859e07 Minor cleanup. 1995-08-13 23:37:56 +00:00
mycroft a6b7c740c6 Convert SA_RESETHAND and SA_NODEFER.
Scrub this code a bit.
1995-08-13 22:57:10 +00:00
christos 3a1e063118 Make the macro botch fix more palatable. 1995-07-05 17:08:54 +00:00
pk 426fb108d1 Brutally work around a macro botch. 1995-07-05 13:07:12 +00:00
christos 87b62763ae Add a few more sockio ioctls... Now sunxdoom is running! 1995-07-04 23:00:11 +00:00
christos c07ddb7c1d Added sockioctls... Only getifnum supported for now.
Added SVR4_EMT_TAGOVF, needed by new machdep translations.
1995-07-04 19:46:58 +00:00
christos ed63c665eb - make svr4_break() identical to obreak(). We still keep the code here,
to do some more testing.
- add POSIX.4 sysconfig options [we don't support them, but we don't
  return EINVAL too]
- More kludges in the interpeter load address. I hope I escape the kludge
  police...
1995-07-02 06:16:06 +00:00
christos 294f607d50 Fix alignment of svr4_getdents, so that it works for solaris2.4/sparc 1995-07-01 23:42:54 +00:00
christos 68328ddcdd Fixes for Solaris-2.4/sparc dynamically linked binaries.
We can now run them, but:

1. setcontext() causes a panic so binaries that receive signals
   crash the machine [something is wrong with the register setup].
   sleep 10 ==
    Watchdog reset
    Data Access Exception
    Type  help  for more information
    ok

2. csh says "unknown software trap a7".
3. ls gives us a bus error.
4. ldd works :-)

But I solved the problem that had been bothering me for weeks :-)
1995-06-27 22:12:47 +00:00
christos d0169ce44a Use compat_util.[ch] 1995-06-24 20:29:17 +00:00
fvdl cbcf8eee8a Check for invalid filedescriptors in getmsg() and putmsg(). 1995-06-24 18:47:08 +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
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
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
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
mycroft bfd22ffde8 Generate the new ps_strings format. 1995-05-16 14:19:03 +00:00
mycroft 7688f4456e Remove usages of ibcs_sigflags. 1995-05-01 04:50:28 +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
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
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
mycroft f75ba16b09 Update to use timer{add,sub}(). 1995-03-21 13:33:34 +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