Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ chkshlib(CP) — OpenDesktop Software Development System 1.0.0d

Media Vault

Software Library

Restoration Projects

Artifacts Sought

     Name
          chkshlib - compare shared libraries tool

     Syntax
          chkshlib [-b] [-i] [-n] [-v] file1 [file2 file3 ... ]

     Description
          chkshlib checks for compatibility between files.  Input
          files can be combinations of host shared libraries, non-
          stripped target shared libraries, and non-stripped
          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 path name for the target shared
          library in both files must be identical (unless the -i
          option 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 option is set).

          The options to chkshlib are:

          -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 path names 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).

          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 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 option
          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.

     See Also
          mkshlib(CP)

     Diagnostics
          Exit status is 0 if no incompatibilities are found, 1 if an
          incompatibility is found, and 2 if a processing error
          occurs.

     Notes
          chkshlib requires that you use the -i option whenever you
          use the -n option.

          Standard binaries distributed with the system are stripped,
          and chkshlib cannot be used with them.
                                                (printed 6/18/89)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026