The specific incompatibilities that the SunOS Binary Compatibility Package resolves are listed below, and are then described in further detail in the rest of this chapter. Because some of these incompatibilities are resolved by the Source Compatibility Package, that package must be installed with the Binary Compatibility Package.
Together these packages do the following:
Ensure that SunOS 4.x executables are properly linked and loaded at run time, using the correct set of libraries.
Enable SunOS 4.x executable files in a.out object file format to execute on the Solaris 2.x release (where the default object file format is ELF).
Provide SunOS 4.x behavior for all library routines and system calls, including those with new interfaces or different behaviors: even if the interface to or behavior of the calls differs, this mapping ensures that the SunOS 4.x binaries will get the expected behavior.
Enable SunOS 4.x executable files that are partly statically linked and partly dynamically linked to execute correctly on the Solaris 2.x release.
Provide the SunOS 4.x signal handling behavior, and correctly map between SunOS 4.x and Solaris 2.x signals.
Correctly map the set of supported SunOS 4.x ioctl's to the corresponding Solaris 2.x ioctl's, and ensure that the ioctl parameters are properly mapped.
Ensure that commands and utilities are at the expected locations, or transparently perform the necessary mapping of the path names.
Whenever possible, provide SunOS 4.x-compatible versions of system files when the file formats are different or the SunOS 4.x files have no counterpart in the Solaris 2.x release.
Ensure that proper links are set up when system file names or paths are different.