Print this page
6205 onbld manuals should be declared as 1onbld
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Josef Sipek <jeffpc@josefsipek.net>
   1 interface_cmp(1)                 User Commands                interface_cmp(1)
   2 
   3 
   4 
   5 NAME
   6        interface_cmp - compare shared object interface descriptions
   7 
   8 SYNOPSIS
   9        interface_cmp [-dot] [-e exfile] old new
  10 
  11 DESCRIPTION
  12        The interface_cmp command compares the interface definition files for
  13        two workspaces and reports versioning inconsistencies. Interface
  14        definition files are created by interface_check.
  15 
  16        interface_cmp is typically called from nightly(1) when the -A option is
  17        in effect following the creation of a new database by interface_check.
  18        To insure symbolic interface consistency between successive software
  19        releases, existing version definitions and their symbol association
  20        should remain intact.  Any discrepancies between the two interface
  21        definitions are flagged as errors.
  22 
  23        Note that version definition inheritance has the effect of causing a
  24        symbol to be viewed as existing in multiple definitions. This insures
  25        that both version definitions and their inheritance relationship are
  26        processed as part of the comparison.
  27 
  28 OPTIONS
  29        The following options are supported:
  30 
  31        -c vertype_module
  32            By default, interface_cmp is customized for the versioning
  33            conventions used by the Solaris OSnet code base. This specialized
  34            information, which includes the recognition of the SUNW_ prefix and
  35            other special names, is contained in a perl module named
  36            onbld_elfmod_vertype.pm, which is delivered with the SUNWonbld
  37            tools. This module is loaded by interface_cmp at runtime. The -c
  38            option can be used to supply an alternative module, customized for
  39            a different code base, allowing interface_cmp to operate on code
  40            from other projects. The alternative module must supply the same
  41            module and calling interfaces as the standard module.


 132                         versioning error.  If the version, and object match
 133                         the regular expressions specified by EMPTY_TOPVERSION,
 134                         the error is suppressed.
 135 
 136 
 137 EXAMPLES
 138        The following example uses interface_cmp to compare this releases
 139        interface definition with a previous builds results:
 140 
 141               % interface_cmp -d -o $SRC/ELF-data.$MACH.ref/interfaces \
 142                      $SRC/ELF-data.$MACH/interfaces
 143               lib/libadm.so.1: SUNW_1.1: added interface: circf(4)
 144               lib/libaio.so.1: SUNW_1.1: deleted interface: _aiocancel
 145 
 146 
 147        Note: the above comparison files were doctored in order to provide the
 148        example, they do not indicate any real changes that have occurred in
 149        the associated system libraries.
 150 
 151 SEE ALSO
 152        find_elf(1), interface_check(1), ld(1), ldd(1), elfdump(1), pvs(1).

 153 
 154 
 155 
 156                                  25 March 2010                interface_cmp(1)
   1 interface_cmp(1ONBLD)         illumos Build Tools        interface_cmp(1ONBLD)
   2 
   3 
   4 
   5 NAME
   6        interface_cmp - compare shared object interface descriptions
   7 
   8 SYNOPSIS
   9        interface_cmp [-dot] [-e exfile] old new
  10 
  11 DESCRIPTION
  12        The interface_cmp command compares the interface definition files for
  13        two workspaces and reports versioning inconsistencies. Interface
  14        definition files are created by interface_check.
  15 
  16        interface_cmp is typically called from nightly(1ONBLD) when the -A
  17        option is in effect following the creation of a new database by
  18        interface_check.  To insure symbolic interface consistency between
  19        successive software releases, existing version definitions and their
  20        symbol association should remain intact.  Any discrepancies between the
  21        two interface definitions are flagged as errors.
  22 
  23        Note that version definition inheritance has the effect of causing a
  24        symbol to be viewed as existing in multiple definitions. This insures
  25        that both version definitions and their inheritance relationship are
  26        processed as part of the comparison.
  27 
  28 OPTIONS
  29        The following options are supported:
  30 
  31        -c vertype_module
  32            By default, interface_cmp is customized for the versioning
  33            conventions used by the Solaris OSnet code base. This specialized
  34            information, which includes the recognition of the SUNW_ prefix and
  35            other special names, is contained in a perl module named
  36            onbld_elfmod_vertype.pm, which is delivered with the SUNWonbld
  37            tools. This module is loaded by interface_cmp at runtime. The -c
  38            option can be used to supply an alternative module, customized for
  39            a different code base, allowing interface_cmp to operate on code
  40            from other projects. The alternative module must supply the same
  41            module and calling interfaces as the standard module.


 132                         versioning error.  If the version, and object match
 133                         the regular expressions specified by EMPTY_TOPVERSION,
 134                         the error is suppressed.
 135 
 136 
 137 EXAMPLES
 138        The following example uses interface_cmp to compare this releases
 139        interface definition with a previous builds results:
 140 
 141               % interface_cmp -d -o $SRC/ELF-data.$MACH.ref/interfaces \
 142                      $SRC/ELF-data.$MACH/interfaces
 143               lib/libadm.so.1: SUNW_1.1: added interface: circf(4)
 144               lib/libaio.so.1: SUNW_1.1: deleted interface: _aiocancel
 145 
 146 
 147        Note: the above comparison files were doctored in order to provide the
 148        example, they do not indicate any real changes that have occurred in
 149        the associated system libraries.
 150 
 151 SEE ALSO
 152        find_elf(1ONBLD), interface_check(1ONBLD), ld(1), ldd(1), elfdump(1),
 153        pvs(1).
 154 
 155 
 156 
 157                                  25 March 2010           interface_cmp(1ONBLD)