Some system call incompatibilities are not addressed by this package because the calls have become obsolete, because they should not be used by user applications, or because they are included in other independent packages. The following is a detailed list of all such calls:
The Solaris 2.x version of acct is compatible with the Application Binary Interface (ABI) and the System V Interface Definition (SVID); the SunOS 4.x version is not. The differences involve turning accounting off and the format of the accounting record. In the Solaris 2.x release, with accounting already on, a call to acct with a given path name turns accounting off. In the SunOS 4.x release in the same situation, the call will switch only to another accounting file, and will not turn accounting off.
Auditing is not supported by the Binary Compatibility Package or by the base Solaris 2.x environment. Auditing is handled by an independent package in the Solaris 2.x release. The auditing facility provided by that package will not be binary compatible with SunOS 4.x applications.
This call has become obsolete. It is not supported in the Solaris 2.x release or the Binary Compatibility Package.
A version of flock is implemented on top of fcntl(2) locking. It does not provide complete binary compatibility, and the following differences exist between this version and the SunOS 4.x version:
flock requires the file to be opened for writing before requesting an exclusive lock.
Read permission is required on the file to obtain a shared lock.
Locking a segment that is already locked by the calling process causes the old lock type to be removed and the new lock type to take effect.
Locks are not inherited by a child process in a fork function.
Locks obtained through the flock mechanism under SunOS 4.x were known only within the system on which they were placed. This is no longer true.
The SunOS 4.x behavior is not available in the default Solaris 2.x release or with this package.
All ioctl's related to filio, sockio, streamio, termio, termios, mtio, and dkio, as well as ioctl's supported by the older version 7 and 4BSD terminal drivers are supported. Otherwise, only the ioctl's pertaining to standard devices of Solaris 2.x platforms are provided. Discrepancies between the ioctl numbers (for the ioctl's supported) in the two versions are handled transparently. The ioctl parameters are mapped whenever necessary.
The following SunOS 4.x ioctl's are incompatible with the Solaris 2.x release:
This ioctl is not available in this release, but it is supported by the Binary Compatibility Package. This ioctl is replaced by DKIOCINFO, which now includes the combined information of the SunOS 4.x DKIOCGCONF and DKIOCINFO structures.
This ioctl is not supported in Solaris 2.x. With the Binary Compatibility Package it returns EINVAL.
In SunOS 4.x this ioctl toggles the write check on the floppy device. With the Binary Compatibility Package, this ioctl does not toggle the write check on the floppy device, but it returns success.
This ioctl is available only for the xd(7), xy(7), and ipi(7) drives. This ioctl will fail for SCSI devices. Use the USCSI ioctl for these devices.
This ioctl is obsolete and is not supported by the Solaris 2.x release or this package.
This ioctl is obsolete and is not supported by the Solaris 2.x release or this package.
This ioctl is obsolete and is not supported by the Solaris 2.x release by the Solaris 2.x release or this package.
This ioctl is obsolete and is not supported by the Solaris 2.x release or this package.
This ioctl is obsolete and is not supported by the Solaris 2.x release or this package.
This Solaris 2.x system call behaves differently from SunOS 4.x. When a -1 is supplied as the first argument, the calling process is also killed; this was not the case in SunOS 4.x.
The pipe system call in SunOS 4.x opens one descriptor for reading and one for writing. In the Solaris 2.x release it opens both descriptors for reading and writing. Because this difference should affect few if any binaries, no compatibility version has been provided.
The optional addr2 argument to the SunOS 4.x ptrace system call is not supported. In addition, the following requests are not supported in the Solaris 2.x release:
PTRACE_ATTACH /* 10, attach to an existing process */
PTRACE_DETACH /* 11, detach from a process */
PTRACE_GETREGS /* 12, get all registers */
PTRACE_SETREGS /* 13, set all registers */
PTRACE_GETFPREGS /* 14, get all floating point regs */
PTRACE_SETFPREGS /* 15, set all floating point regs */
PTRACE_READDATA /* 16, read data segment */
PTRACE_WRITEDATA /* 17, write data segment */
PTRACE_READTEXT /* 18, read text segment */
PTRACE_WRITETEXT /* 19, write text segment */
PTRACE_GETFPAREGS /* 20, get all fpa regs */
PTRACE_SETFPAREGS /* 21, set all fpa regs */
PTRACE_GETWINDOW /* 22, get register window n */
PTRACE_SETWINDOW /* 23, set register window n */
PTRACE_22 /* 22, filler */
PTRACE_23 /* 23, filler */
PTRACE_SYSCALL /* 24, trap next sys call */
PTRACE_DUMPCORE /* 25, dump process core */
PTRACE_SETWRBKPT /* 26, set write breakpoint */
PTRACE_SETACBKPT /* 27, set access breakpoint */
PTRACE_CLRDR7 /* 28, clear debug register 7 */
PTRACE_26 /* 26, filler */
PTRACE_27 /* 27, filler */
PTRACE_28 /* 28, filler */
PTRACE_GETUCODE /* 29, get u.u_code */
This system call does not exist in the Solaris 2.x release or the Binary Compatibility Package and should not be needed by user applications.
This system call does not exist in the default Solaris 2.x release or the Binary Compatibility Package.