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
|