chkshlib(1) CLIX chkshlib(1)
NAME
chkshlib - Compares shared libraries tool
SYNOPSIS
chkshlib [-b] [-i] [-n] [-v] file1 [file2 file3 ... ]
FLAGS
-v Cause verbose reporting of all incompatibilities to stdout.
-b If there are symbols found in file1 that are not in the bounds of
file2 report warning messages to stderr.
-i Turn off the restriction that the pathnames for the target shared
library need to be identical for two files to be compatible.
-n Indicate that there are exactly two input files, which are target
shared libraries, where the first references symbols in the second
(``includes'' the second).
DESCRIPTION
The chkshlib command checks for compatibility between files. Input files
can be combinations of host shared libraries, nonstripped target shared
libraries, and nonstripped executable files. A file is compatible with
another file if every library symbol in it that should be matched is
matched in the second (that is, the symbol exists and has the same address
in both files). The pathname for the target shared library in both files
must be identical (unless the -i flag is set.)
It is possible for file1 to be compatible with file2 without the reverse
also being true.
If one incompatibility is found it is reported to stdout and processing
stops (unless the -v flag is set.)
The output of chkshlib depends upon the input. If the first input file is
an executable file and the other input files, if any, are target shared
libraries, the output states whether or not the executable file can
execute using each target shared library. If there are no target shared
libraries supplied, chkshlib performs the compatibility check against the
target shared libraries specified in the .lib section of the executable
file.
If the first input file is an executable file and the other input file(s)
is a host shared library, the output states whether or not the executable
file could have been produced using each host.
If one input file is a host shared library and the other input file, if
2/94 - Intergraph Corporation 1
chkshlib(1) CLIX chkshlib(1)
any, is a target shared library the output states whether or not the host
shared library could produce executable files that will run with the
target shared library. If no target shared library is supplied, then
chkshlib performs the compatibility check against the target specified in
the .lib section of the library definition file found in the host.
If both input files are target shared libraries or both input files are
host shared libraries, the output states whether or not the first file
could replace the second and vice versa.
If both input files are target libraries and the -n flag is set, the
output states if the first file references symbols in the second file
(``includes'' the second).
Compatibility of all other combinations of host shared libraries, target
shared libraries, and executable files has no useful meaning and these
other combinations of files are not accepted as valid input to chkshlib.
NOTES
The chkshlib command requires that you use the -i flag whenever you use
the -n flag.
Standard binaries distributed with the UNIX system are stripped and
chkshlib cannot be used with them.
DIAGNOSTICS
Exit status is 0 if no incompatibilities are found, 1 if an
incompatibility is found, and 2 if a processing error occurs.
RELATED INFORMATION
Commands: mkshlib(1)
AT&T UNIX System V Programmer's Guide.
2 Intergraph Corporation - 2/94