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>


   2 .\"
   3 .\" CDDL HEADER START
   4 .\"
   5 .\" The contents of this file are subject to the terms of the
   6 .\" Common Development and Distribution License (the "License").
   7 .\" You may not use this file except in compliance with the License.
   8 .\"
   9 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10 .\" or http://www.opensolaris.org/os/licensing.
  11 .\" See the License for the specific language governing permissions
  12 .\" and limitations under the License.
  13 .\"
  14 .\" When distributing Covered Code, include this CDDL HEADER in each
  15 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16 .\" If applicable, add the following below this CDDL HEADER, with the
  17 .\" fields enclosed by brackets "[]" replaced with your own identifying
  18 .\" information: Portions Copyright [yyyy] [name of copyright owner]
  19 .\"
  20 .\" CDDL HEADER END
  21 .\"
  22 .TH interface_check 1 "25 March 2010"
  23 .SH NAME
  24 interface_check \- check shared object interfaces
  25 .SH SYNOPSIS
  26 \fBinterface_check [-hIo] [-c vertype_module] [-E errfile] [-e exfile] [-f listfile] [-i intffile] [-w outdir] file | dir, ...\fP
  27 .LP
  28 .SH DESCRIPTION
  29 .IX "OS-Net build tools" "interface_check" "" "\fBinterface_check\fP"
  30 The
  31 .I interface_check
  32 command attempts to check a number of ELF versioning attributes
  33 for consistency with common build rules and practices.
  34 In addition, a complete breakdown of the file's version definitions can
  35 be captured using the
  36 .B -i
  37 option, and the interface description file created can be used with
  38 .I interface_cmp
  39 to audit
  40 the versioning evolution of a software product.
  41 These interface description files reflect the association of the shared
  42 object's global symbols with recorded version definitions.
  43 .LP
  44 .I interface_check
  45 is typically called from \fBnightly(1)\fP when the \fB-A\fP
  46 option is in effect. In this case the shared objects under
  47 the associated \fIproto\fP area (\fB$ROOT\fP) are examined.
  48 .I interface_check
  49 can also be run standalone against any set of dynamic objects.
  50 .LP
  51 .I interface_check
  52 uses \fBelfdump(1)\fP and \fBpvs(1)\fP to
  53 check file naming standardization, and versioning consistency. These 
  54 check are carried out for the following reasons:
  55 .TP 4
  56 \(bu
  57 A shared object should exist with a versioned filename.
  58 A versioned filename commonly takes the form of a \fI.so\fP suffix
  59 followed by a version number. For example, \fI/usr/lib/libc.so.1\fP
  60 is the shared object representation of version one of the standard C
  61 library made available to the runtime environment.
  62 A versioned filename allows for a change in the exported interface of
  63 the shared object over a series of software releases.  A shared object
  64 that doesn't exist as a versioned filename is displayed as:
  65 .sp


 366 .SH EXAMPLES
 367 The following example uses
 368 .I interface_check
 369 to generate an interface database for a workspace:
 370 .PP
 371 .RS
 372 .nf
 373 % mkdir $SRC/ELF-data.$MACH
 374 % interface_check -w $SRC/ELF-data.$MACH -E interface.err \ 
 375         -i interface $ROOT
 376 % ls -1R $SRC/ELF
 377 interface
 378 interface.err
 379 .br
 380 .SH FILES
 381 .LP
 382 .RS 5
 383 $CODEMGR_WS/exception_list/interface_check
 384 /opt/onbld/etc/exception_list/interface_check
 385 .SH SEE ALSO
 386 .BR find_elf(1),
 387 .BR interface_cmp(1),
 388 .BR ld(1),
 389 .BR ldd(1),
 390 .BR elfdump(1),
 391 .BR pvs(1).
 392 .LP
 393 .TZ LLM


   2 .\"
   3 .\" CDDL HEADER START
   4 .\"
   5 .\" The contents of this file are subject to the terms of the
   6 .\" Common Development and Distribution License (the "License").
   7 .\" You may not use this file except in compliance with the License.
   8 .\"
   9 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10 .\" or http://www.opensolaris.org/os/licensing.
  11 .\" See the License for the specific language governing permissions
  12 .\" and limitations under the License.
  13 .\"
  14 .\" When distributing Covered Code, include this CDDL HEADER in each
  15 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16 .\" If applicable, add the following below this CDDL HEADER, with the
  17 .\" fields enclosed by brackets "[]" replaced with your own identifying
  18 .\" information: Portions Copyright [yyyy] [name of copyright owner]
  19 .\"
  20 .\" CDDL HEADER END
  21 .\"
  22 .TH interface_check 1ONBLD "25 March 2010"
  23 .SH NAME
  24 interface_check \- check shared object interfaces
  25 .SH SYNOPSIS
  26 \fBinterface_check [-hIo] [-c vertype_module] [-E errfile] [-e exfile] [-f listfile] [-i intffile] [-w outdir] file | dir, ...\fP
  27 .LP
  28 .SH DESCRIPTION
  29 .IX "OS-Net build tools" "interface_check" "" "\fBinterface_check\fP"
  30 The
  31 .I interface_check
  32 command attempts to check a number of ELF versioning attributes
  33 for consistency with common build rules and practices.
  34 In addition, a complete breakdown of the file's version definitions can
  35 be captured using the
  36 .B -i
  37 option, and the interface description file created can be used with
  38 .I interface_cmp
  39 to audit
  40 the versioning evolution of a software product.
  41 These interface description files reflect the association of the shared
  42 object's global symbols with recorded version definitions.
  43 .LP
  44 .I interface_check
  45 is typically called from \fBnightly(1ONBLD)\fP when the \fB-A\fP
  46 option is in effect. In this case the shared objects under
  47 the associated \fIproto\fP area (\fB$ROOT\fP) are examined.
  48 .I interface_check
  49 can also be run standalone against any set of dynamic objects.
  50 .LP
  51 .I interface_check
  52 uses \fBelfdump(1)\fP and \fBpvs(1)\fP to
  53 check file naming standardization, and versioning consistency. These 
  54 check are carried out for the following reasons:
  55 .TP 4
  56 \(bu
  57 A shared object should exist with a versioned filename.
  58 A versioned filename commonly takes the form of a \fI.so\fP suffix
  59 followed by a version number. For example, \fI/usr/lib/libc.so.1\fP
  60 is the shared object representation of version one of the standard C
  61 library made available to the runtime environment.
  62 A versioned filename allows for a change in the exported interface of
  63 the shared object over a series of software releases.  A shared object
  64 that doesn't exist as a versioned filename is displayed as:
  65 .sp


 366 .SH EXAMPLES
 367 The following example uses
 368 .I interface_check
 369 to generate an interface database for a workspace:
 370 .PP
 371 .RS
 372 .nf
 373 % mkdir $SRC/ELF-data.$MACH
 374 % interface_check -w $SRC/ELF-data.$MACH -E interface.err \ 
 375         -i interface $ROOT
 376 % ls -1R $SRC/ELF
 377 interface
 378 interface.err
 379 .br
 380 .SH FILES
 381 .LP
 382 .RS 5
 383 $CODEMGR_WS/exception_list/interface_check
 384 /opt/onbld/etc/exception_list/interface_check
 385 .SH SEE ALSO
 386 .BR find_elf(1ONBLD),
 387 .BR interface_cmp(1ONBLD),
 388 .BR ld(1),
 389 .BR ldd(1),
 390 .BR elfdump(1),
 391 .BR pvs(1).
 392 .LP
 393 .TZ LLM