Print this page
6282 ONBLD man pages not pbchk clean
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Josef Sipek <jeffpc@josefsipek.net>

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/scripts/interface_cmp.1onbld
          +++ new/usr/src/tools/scripts/interface_cmp.1onbld
↓ open down ↓ 11 lines elided ↑ open up ↑
  12   12  .\" and limitations under the License.
  13   13  .\"
  14   14  .\" When distributing Covered Code, include this CDDL HEADER in each
  15   15  .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16   16  .\" If applicable, add the following below this CDDL HEADER, with the
  17   17  .\" fields enclosed by brackets "[]" replaced with your own identifying
  18   18  .\" information: Portions Copyright [yyyy] [name of copyright owner]
  19   19  .\"
  20   20  .\" CDDL HEADER END
  21   21  .\"
  22      -.TH interface_cmp 1ONBLD "25 March 2010"
       22 +.TH INTERFACE_CMP 1ONBLD "Mar 25, 2010"
  23   23  .SH NAME
  24   24  interface_cmp \- compare shared object interface descriptions
  25   25  .SH SYNOPSIS
  26   26  \fBinterface_cmp [-dot] [-e exfile] old new\fP
  27      -.LP
  28   27  .SH DESCRIPTION
  29      -.IX "OS-Net build tools" "interface_cmp" "" "\fBinterface_cmp\fP"
  30   28  The
  31   29  .I interface_cmp
  32   30  command compares the interface definition files for two workspaces
  33   31  and reports versioning inconsistencies. Interface definition
  34   32  files are created by
  35   33  .IR interface_check.
  36   34  .PP
  37   35  .I interface_cmp
  38   36  is typically called from \fBnightly(1ONBLD)\fP when the \fB-A\fP
  39   37  option is in effect following the creation of a new database by
↓ open down ↓ 1 lines elided ↑ open up ↑
  41   39  To insure symbolic
  42   40  interface consistency between successive software releases, existing
  43   41  version definitions and their symbol association should remain intact.
  44   42  Any discrepancies between the two interface definitions are flagged as
  45   43  errors.
  46   44  .PP
  47   45  Note that version definition inheritance has the effect of causing a
  48   46  symbol to be viewed as existing in multiple definitions. This insures
  49   47  that both version definitions and their inheritance relationship are
  50   48  processed as part of the comparison.
  51      -.LP
  52   49  .SH OPTIONS
  53      -.LP
  54   50  The following options are supported:
  55   51  .TP 4
  56   52  .B \-c vertype_module
  57   53  By default,
  58   54  .I interface_cmp
  59   55  is customized for the versioning conventions used by the Solaris
  60   56  OSnet code base. This specialized information, which includes
  61   57  the recognition of the SUNW_ prefix and other special names, is
  62   58  contained in a perl module named onbld_elfmod_vertype.pm, which
  63   59  is delivered with the SUNWonbld tools. This module is loaded by
↓ open down ↓ 16 lines elided ↑ open up ↑
  80   76  .RE
  81   77  .RS +4
  82   78  .TP
  83   79  .ie t \(bu
  84   80  .el o
  85   81  The new interface must not add new empty versions. Pre-existing empty
  86   82  versions represent public interfaces that cannot be changed, but new
  87   83  ones should be removed before the product ships.
  88   84  .RE
  89   85  .sp
  90      -.LP
  91   86  .TP 4
  92   87  .B \-e exfile
  93   88  An exception file is used to exclude objects from
  94   89  the usual rules. See EXCEPTION FILE FORMAT.
  95   90  .TP 4
  96   91  .B \-o
  97      -Produce one-liner output, with each line of diagnostic output 
       92 +Produce one-liner output, with each line of diagnostic output
  98   93  prefixed with the object pathname.
  99   94  .TP 4
 100   95  .B \-t
 101   96  If the \fB-t\fP option is present, only one argument is allowed.
 102   97  The interface description file is parsed, and then regenerated on
 103   98  stdout in the same format used by the
 104   99  .I interface_check
 105  100  \fB-I\fP option. The \fB-I\fP output from
 106  101  .I interface_check
 107  102  and the output from
 108  103  .I interface_cmp
 109  104  \fB-t\fP
 110      -should be identical, excluding header comments. 
      105 +should be identical, excluding header comments.
 111  106  This is a debugging feature, and not intended for general use.
 112      -.LP
 113  107  .SH EXCEPTION FILE FORMAT
 114  108  Exceptions to the rules enforced by
 115  109  .I interface_cmp
 116  110  are specified using an exception file. The \fB-e\fP option is used to
 117  111  specify an explicit exception file. Otherwise, if used in an activated
 118  112  workspace, the default exception file is
 119  113  $CODEMGR_WS/exception_list/interface_cmp
 120  114  if that file exists. If not used in an activated workspace, or if
 121  115  $CODEMGR_WS/exception_list/interface_cmp does not exist,
 122  116  .I interface_cmp
 123  117  will use
 124  118  .I /opt/onbld/etc/exception_list/interface_cmp
 125  119  as a fallback default exception file.
 126      -.p
      120 +.P
 127  121  To run
 128  122  .I interface_cmp
 129  123  without applying exceptions, specify \fB-e\fP with a value of /dev/null.
 130  124  .P
 131  125  A '#' character at the beginning of a line, or at any point in
 132      -a line when preceded by whitespace, introduces a comment. Empty lines, 
      126 +a line when preceded by whitespace, introduces a comment. Empty lines,
 133  127  and lines containing only comments, are ignored by
 134  128  .I interface_cmp.
 135  129  Exceptions are specified as space separated keyword, and \fBperl(1)\fP
 136  130  regular expressions. The number of regular expressions depends on the
 137  131  particular exception in questions:
 138  132  .sp
 139  133  .in +4
 140  134  .nf
 141  135  keyword  perl-regex...
 142  136  .fi
↓ open down ↓ 14 lines elided ↑ open up ↑
 157  151  lib/amd64
 158  152  lib/sparcv9
 159  153  .fi
 160  154  .in -4
 161  155  .sp
 162  156  The exceptions understood by
 163  157  .I interface_cmp
 164  158  are:
 165  159  .sp
 166  160  .ne 2
 167      -.mk
 168  161  .na
 169  162  \fBADDSYM\fR sym_re version_re object_re
 170  163  .ad
 171  164  .RS 17n
 172      -.rt
 173  165  .sp
 174      -The interfaces in a given version are not supposed to change. 
      166 +The interfaces in a given version are not supposed to change.
 175  167  .I interface_cmp
 176  168  will normally issue an error if a new interface is added to a previously
 177  169  released version. ADDSYM is used to override this
 178  170  requirement. If the added symbol, version, and object match
 179  171  the regular expressions specified by ADDSYM, the added symbol is ignored.
 180  172  .RE
 181  173  
 182  174  .sp
 183  175  .ne 2
 184      -.mk
 185  176  .na
 186  177  \fBDELDYM\fR sym_re version_re object_re
 187  178  .ad
 188  179  .RS 17n
 189      -.rt
 190  180  .sp
 191  181  Once released to the public, interfaces are required to remain available
 192  182  in subsequent releases. DELSYM is used to override this
 193  183  requirement, as can occur when interfaces are EOL'd. Such an action generally
 194  184  requires a PSARC case. If the deleted symbol, version, and object match
 195  185  the regular expressions specified by DELSYM, the deleted symbol is ignored.
 196  186  .RE
 197  187  
 198  188  .sp
 199  189  .ne 2
 200      -.mk
 201  190  .na
 202  191  \fBEMPTY_TOPVERSION\fR version_re object_re
 203  192  .ad
 204  193  .RS 17n
 205      -.rt
 206  194  .sp
 207  195  .I
 208  196  interface_cmp
 209  197  normally issues an error if the old object has an empty top version
 210  198  that is non-empty in the new object. Such a situation is normally
 211  199  an error, but may legitimately occur as part of a fix to another versioning
 212  200  error.  If the version, and object match
 213  201  the regular expressions specified by EMPTY_TOPVERSION, the error is suppressed.
 214  202  .RE
 215  203  
 216      -.PP
 217  204  .SH EXAMPLES
 218  205  The following example uses
 219  206  .I interface_cmp
 220  207  to compare this releases interface definition with a previous
 221  208  builds results:
 222  209  .PP
 223  210  .RS
 224  211  .nf
 225  212  .B % interface_cmp -d -o $SRC/ELF-data.$MACH.ref/interfaces\ \\\\
 226  213  .B \ \ \ \ \ \ \ $SRC/ELF-data.$MACH/interfaces
↓ open down ↓ 7 lines elided ↑ open up ↑
 234  221  the example, they do not indicate any real changes that have
 235  222  occurred in the associated system libraries.
 236  223  .br
 237  224  .SH SEE ALSO
 238  225  .BR find_elf(1ONBLD),
 239  226  .BR interface_check(1ONBLD),
 240  227  .BR ld(1),
 241  228  .BR ldd(1),
 242  229  .BR elfdump(1),
 243  230  .BR pvs(1).
 244      -.LP
 245      -.TZ LLM
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX