CMPSHLIB

Section: User Commands (1)
Updated: April 2, 1995 (Release 4.0)
Index Return to Main Contents
 

NAME

cmpshlib - compare two shared libraries for compatibility  

SYNOPSIS

cmpshlib [ -s spec_file ] [ -arch arch_type ] old new  

DESCRIPTION

cmpshlib compares two versions of a target shared library to see if the changes introduced by the newer target shared library, new, are compatible with the older target shared library, old. This command makes the following checks: It verifies that the all of the old branch table targets have the same symbol in the new branch table and that all the old global data symbols have the same addresses.

With the -s spec_file option, global const data symbols ( #nobranch_text and not #private_externs ) are checked for the same addresses while #private_externs data symbols with different addresses are not reported. Also with the -s spec_file option, branch table slots that have names that change from the old version but remain compatible will not get errors if the optional branch table slot specifies old_name old_funcname where old_funcname is the name of the symbol in the old version. If this information is supplied, cmpshlib first checks for branch slot matching in the usual way and, if that fails, it checks for old_funcname matching to see if the branch table slot is compatible.

For ``fat'' target shared libraries, the -arch arch_type option specifies the architecture of the shared library to be checked. If the file old is a ``fat'' file that contains more than one architecture you must use this option. Only one -arch arch_type can be specified and only one architecture is checked. See arch(3) for the currently know arch_types.  

SEE ALSO

mkshlib(1)  

BUGS

Many other things, particularly in the host libraries, could be checked but are not. This command only catches most of the major problems. Also, any slot that was part of a range used for a symbol that was replaced by a new symbol is printed as a warning (this is not the case if .empty_slot is used).


 

Index

NAME
SYNOPSIS
DESCRIPTION
SEE ALSO
BUGS

This document was created by man2html, using the manual pages.
Time: 04:27:01 GMT, April 24, 2025