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.
57 See EXCEPTION FILE FORMAT.
58
59 -o Produce one-liner output, with each line of diagnostic output
60 prefixed with the object pathname.
61
62 -t If the -t option is present, only one argument is allowed. The
63 interface description file is parsed, and then regenerated on
64 stdout in the same format used by the interface_check -I option.
65 The -I output from interface_check and the output from
66 interface_cmp -t should be identical, excluding header comments.
67 This is a debugging feature, and not intended for general use.
68
69 EXCEPTION FILE FORMAT
70 Exceptions to the rules enforced by interface_cmp are specified using
71 an exception file. The -e option is used to specify an explicit
72 exception file. Otherwise, if used in an activated workspace, the
73 default exception file is $CODEMGR_WS/exception_list/interface_cmp if
74 that file exists. If not used in an activated workspace, or if
75 $CODEMGR_WS/exception_list/interface_cmp does not exist, interface_cmp
76 will use /opt/onbld/etc/exception_list/interface_cmp as a fallback
77 default exception file. To run interface_cmp without applying
78 exceptions, specify -e with a value of /dev/null.
79
80 A '#' character at the beginning of a line, or at any point in a line
81 when preceded by whitespace, introduces a comment. Empty lines, and
82 lines containing only comments, are ignored by interface_cmp.
83 Exceptions are specified as space separated keyword, and perl(1)
84 regular expressions. The number of regular expressions depends on the
85 particular exception in questions:
86
87 keyword perl-regex...
88
89 Since whitespace is used as a separator, the regular expression cannot
90 itself contain whitespace. Use of the \s character class to represent
91 whitespace within the regular expression is recommended. Before the
92 perl regular expression is used, constructs of the form MACH(dir) are
93 expanded into a regular expression that matches the directory given, as
94 well as any 64-bit architecture subdirectory that might be present
95 (i.e. amd64, sparcv9). For instance, MACH(lib) will match any of the
96 following:
97
98 lib
99 lib/amd64
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)
|
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.
57 See EXCEPTION FILE FORMAT.
58
59 -o Produce one-liner output, with each line of diagnostic output
60 prefixed with the object pathname.
61
62 -t If the -t option is present, only one argument is allowed. The
63 interface description file is parsed, and then regenerated on
64 stdout in the same format used by the interface_check -I option.
65 The -I output from interface_check and the output from
66 interface_cmp -t should be identical, excluding header comments.
67 This is a debugging feature, and not intended for general use.
68
69 EXCEPTION FILE FORMAT
70 Exceptions to the rules enforced by interface_cmp are specified using
71 an exception file. The -e option is used to specify an explicit
72 exception file. Otherwise, if used in an activated workspace, the
73 default exception file is $CODEMGR_WS/exception_list/interface_cmp if
74 that file exists. If not used in an activated workspace, or if
75 $CODEMGR_WS/exception_list/interface_cmp does not exist, interface_cmp
76 will use /opt/onbld/etc/exception_list/interface_cmp as a fallback
77 default exception file.
78
79 To run interface_cmp without applying exceptions, specify -e with a
80 value of /dev/null.
81
82 A '#' character at the beginning of a line, or at any point in a line
83 when preceded by whitespace, introduces a comment. Empty lines, and
84 lines containing only comments, are ignored by interface_cmp.
85 Exceptions are specified as space separated keyword, and perl(1)
86 regular expressions. The number of regular expressions depends on the
87 particular exception in questions:
88
89 keyword perl-regex...
90
91 Since whitespace is used as a separator, the regular expression cannot
92 itself contain whitespace. Use of the \s character class to represent
93 whitespace within the regular expression is recommended. Before the
94 perl regular expression is used, constructs of the form MACH(dir) are
95 expanded into a regular expression that matches the directory given, as
96 well as any 64-bit architecture subdirectory that might be present
97 (i.e. amd64, sparcv9). For instance, MACH(lib) will match any of the
98 following:
99
100 lib
101 lib/amd64
139 EXAMPLES
140 The following example uses interface_cmp to compare this releases
141 interface definition with a previous builds results:
142
143 % interface_cmp -d -o $SRC/ELF-data.$MACH.ref/interfaces \
144 $SRC/ELF-data.$MACH/interfaces
145 lib/libadm.so.1: SUNW_1.1: added interface: circf(4)
146 lib/libaio.so.1: SUNW_1.1: deleted interface: _aiocancel
147
148
149 Note: the above comparison files were doctored in order to provide the
150 example, they do not indicate any real changes that have occurred in
151 the associated system libraries.
152
153 SEE ALSO
154 find_elf(1ONBLD), interface_check(1ONBLD), ld(1), ldd(1), elfdump(1),
155 pvs(1).
156
157
158
159 March 25, 2010 INTERFACE_CMP(1ONBLD)
|