changeset 18860:086ae3eb05da default tip

Merge branch 'master' of git://repo.or.cz/unleashed
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Mon, 16 Jul 2018 14:49:03 -0400
parents e23d8e5aa959 (current diff) 314a774efeb3 (diff)
children
files tools/nightly.1 tools/nightly.1onbld usr/src/cmd/fs.d/autofs/auto_home usr/src/cmd/fs.d/autofs/auto_master usr/src/tools/btxld/btxld.1 usr/src/tools/btxld/btxld.1onbld usr/src/tools/codereview/codereview.1 usr/src/tools/codereview/codereview.1onbld usr/src/tools/depcheck/get_depend_info.1 usr/src/tools/depcheck/get_depend_info.1onbld usr/src/tools/depcheck/make_pkg_db.1 usr/src/tools/depcheck/make_pkg_db.1onbld usr/src/tools/ndrgen/ndrgen.1 usr/src/tools/ndrgen/ndrgen.1onbld usr/src/tools/scripts/Install.1 usr/src/tools/scripts/Install.1onbld usr/src/tools/scripts/cddlchk.1 usr/src/tools/scripts/cddlchk.1onbld usr/src/tools/scripts/check_rtime.1 usr/src/tools/scripts/check_rtime.1onbld usr/src/tools/scripts/checkpaths.1 usr/src/tools/scripts/checkpaths.1onbld usr/src/tools/scripts/cstyle.1 usr/src/tools/scripts/cstyle.1onbld usr/src/tools/scripts/find_elf.1 usr/src/tools/scripts/find_elf.1onbld usr/src/tools/scripts/git-pbchk.1 usr/src/tools/scripts/git-pbchk.1onbld usr/src/tools/scripts/hdrchk.1 usr/src/tools/scripts/hdrchk.1onbld usr/src/tools/scripts/interface_check.1 usr/src/tools/scripts/interface_check.1onbld usr/src/tools/scripts/interface_cmp.1 usr/src/tools/scripts/interface_cmp.1onbld usr/src/tools/scripts/mapfilechk.1 usr/src/tools/scripts/mapfilechk.1onbld usr/src/tools/scripts/wsdiff.1 usr/src/tools/scripts/wsdiff.1onbld
diffstat 51 files changed, 4123 insertions(+), 4207 deletions(-) [+]
line wrap: on
line diff
--- a/share/man/man5/loader.5	Mon Jul 16 09:17:09 2018 -0400
+++ b/share/man/man5/loader.5	Mon Jul 16 14:49:03 2018 -0400
@@ -753,7 +753,6 @@
 .Ed
 .Sh SEE ALSO
 .Xr boot 8 ,
-.Xr btxld 1onbld ,
 .Xr loader.conf 4
 .Sh STANDARDS
 For the purposes of ANS Forth compliance, loader is an
--- a/share/man/man8/automount.8	Mon Jul 16 09:17:09 2018 -0400
+++ b/share/man/man8/automount.8	Mon Jul 16 14:49:03 2018 -0400
@@ -19,7 +19,7 @@
 .\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
 .\" Copyright 2016 Nexenta Systems, Inc.
 .\"
-.Dd February 25, 2017
+.Dd July 16, 2018
 .Dt AUTOMOUNT 8
 .Os
 .Sh NAME
@@ -61,26 +61,9 @@
 .Pa /etc/auto_master
 determines the locations of all
 .Nm autofs
-mount points. By default, this file contains three entries:
-.Bd -literal -offset indent
-# Master map for automounter
-#
-+auto_master
-/net	-hosts -nosuid
-/home	auto_home
-.Ed
+mount points.
 .Pp
 The
-.Sy +auto_master
-entry is a reference to an external NIS master map. If one exists, then
-its entries are read as if they occurred in place of the
-.Sy +auto_master
-entry. The remaining entries in the master file specify a directory on which an
-.Nm autofs
-mount will be made followed by the automounter map to be associated with it.
-Optional mount options may be supplied as an optional third field in the each
-entry. These options are used for any entries in the map that do not specify
-mount options explicitly. The
 .Nm
 command is usually run without arguments. It compares the entries
 .Pa /etc/auto_master
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/nightly.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,354 @@
+.\" "
+.\" " The contents of this file are subject to the terms of the
+.\" " Common Development and Distribution License (the "License").
+.\" " You may not use this file except in compliance with the License.
+.\" "
+.\" " You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" " or http://www.opensolaris.org/os/licensing.
+.\" " See the License for the specific language governing permissions
+.\" " and limitations under the License.
+.\" "
+.\" " When distributing Covered Code, include this CDDL HEADER in each
+.\" " file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" " If applicable, add the following below this CDDL HEADER, with the
+.\" " fields enclosed by brackets "[]" replaced with your own identifying
+.\" " information: Portions Copyright [yyyy] [name of copyright owner]
+.\" "
+.\" " CDDL HEADER END
+.\" "
+.\" "Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+.\" "Copyright 2012 Joshua M. Clulow <josh@sysmgr.org>
+.\" "
+.TH NIGHTLY 1ONBLD "Jul 2, 2017"
+.SH NAME
+.I nightly
+\- build an OS-Net consolidation overnight
+.SH SYNOPSIS
+\fBnightly [-in] [-V VERS] <env_file>\fP
+.SH DESCRIPTION
+.LP
+.I nightly,
+the mother of all build scripts,
+can build, archive, package, error check, and
+generally do everything it takes to
+turn OS/Net consolidation source code into useful stuff.
+It is customizable to permit you to run anything from a
+simple build to all of the cross-checking a gatekeeper
+needs.  The advantage to using
+.I nightly
+is that you build things correctly, consistently and
+automatically, with the best practices; building with
+.I nightly
+can mean never having to say you're sorry to your
+gatekeeper.
+.LP
+More
+specifically,
+.I nightly
+performs the following tasks, in order, if
+all these things are desired:
+.LP
+.RS
+.TP
+\(bu
+perform a "make clobber" to clean up old binaries
+.TP
+\(bu
+perform non-DEBUG and DEBUG builds
+.TP
+\(bu
+list proto area files and compare with previous list
+.TP
+\(bu
+copy updated proto area to parent
+.TP
+\(bu
+list shared lib interface and compare with previous list
+.TP
+\(bu
+perform a "make check" to report hdrchk/cstyle errors
+.TP
+\(bu
+report the presence of any core files
+.TP
+\(bu
+check the ELF runtime attributes of all dynamic objects
+.TP
+\(bu
+check for unreferenced files
+.TP
+\(bu
+report on which proto area objects have changed (since the last build)
+.TP
+\(bu
+report the total build time
+.TP
+\(bu
+save a detailed log file for reference
+.TP
+\(bu
+mail the user a summary of the completed build
+.RE
+.LP
+The actions of the script are almost completely determined by
+the environment variables in the
+.I env
+file, the only necessary argument.  Ths only thing you really
+need to use
+.I nightly
+is an
+.I env
+file that does what you want.
+.LP
+Like most of the other build tools in usr/src/tools, this script tends
+to change on a fairly regular basis; do not expect to be able to build
+OS/Net with a version of nightly significantly older than your source
+tree.  It has what is effectively a Consolidation Private relationship
+to other build tools and with many parts of the OS/Net makefiles,
+although it may also be used to build other consolidations.
+.SH NIGHTLY_OPTIONS
+The environment variable NIGHTLY_OPTIONS controls the actions
+.I nightly
+will take as it proceeds.
+The -i, -n, and -V options may also be used from the command
+line to control the actions without editing your environment file.
+The -i and -n options complete the build more quickly by bypassing
+some actions. If NIGHTLY_OPTIONS is not set, then "-Bmt" build
+options will be used.
+
+.B Basic action options
+.TP 10
+.B \-D
+Do a DEBUG build instead of non-DEBUG
+.TP
+.B \-M
+Do not run pmodes (safe file permission checker)
+.TP
+.B \-i
+Do an incremental build, suppressing the "make clobber" that by
+default removes all existing binaries and derived files.  From the
+command line, -i also suppresses the cstyle/hdrchk pass
+.TP
+.B \-p
+Create packages for regular install
+.TP
+.B \-m
+Send mail to $MAILTO at end of build
+.TP
+
+.LP
+.B Code checking options
+.TP 10
+.B \-A
+Check for ABI discrepancies in .so files.
+It is only required for shared object developers when there is an
+addition, deletion or change of interface in the .so files.
+.TP
+.B \-C
+Check for cstyle/hdrchk errors
+.TP
+.B \-f
+Check for unreferenced files.  Since the full workspace must be built
+in order to accurately identify unreferenced files, -f is ignored for
+incremental (-i) builds, or builds that do not include -p.
+.TP
+.B \-r
+Check the ELF runtime attributes of all dynamic objects
+.TP
+.B \-N
+Do not run protocmp or checkpaths (note: this option is not
+recommended, especially in conjunction with the \-p option)
+.TP
+.B \-w
+Report which proto area objects differ between this and the last build.
+See wsdiff(1ONBLD) for details. Note that the proto areas used for comparison
+are the last ones constructed as part of the build. As an example, if both
+a non-debug and debug build are performed (in that order), then the debug
+proto area will be used for comparison (which might not be what you want).
+.LP
+.B Groups of options
+.TP 10
+.B \-G
+Gate keeper default group of options
+.TP
+.B \-I
+Integration engineer default group of options (-mp)
+.TP
+.B \-R
+Default group of options for building a release (-mp)
+
+.LP
+.B Miscellaneous options
+.TP 10
+.B \-V VERS
+set the build version string to VERS, overriding VERSION
+
+.SH ENVIRONMENT VARIABLES
+.LP
+Here is a list of prominent environment variables that
+.I nightly
+references and the meaning of each variable.
+.B SRCTOP
+.RS 5
+The root of your workspace, including whatever metadata is kept by
+the source code management system.  This is the workspace in which the
+build will be done.
+.RE
+.LP
+.B SRC
+.RS 5
+Root of OS-Net source code, referenced by the Makefiles.  It is
+the starting point of build activity.  It should be expressed
+in terms of $SRCTOP.
+.RE
+.LP
+.B ROOT
+.RS 5
+Root of the proto area for the build.  The makefiles direct
+installation of build products to this area and
+direct references to these files by builds of commands and other
+targets.  It should be expressed in terms of $SRCTOP.
+.RE
+.LP
+.B MACH
+.RS 5
+The instruction set architecture of the build machine as given
+by \fIuname -p\fP, e.g. sparc, i386.
+.RE
+.LP
+.B ATLOG
+.RS 5
+The location of the log directory maintained by
+.IR nightly .
+This should generally be left to the default setting.
+.RE
+.LP
+.B LOGFILE
+.RS 5
+The name of the log file in the $ATLOG directory maintained by
+.IR nightly .
+This should generally be left to the default setting.
+.RE
+.LP
+.B MAILTO
+.RS 5
+The address to be used to send completion e-mail at the end of
+the build (for the \-m option).
+.RE
+.LP
+.B RELEASE
+.RS 5
+The release version number to be used; e.g., 5.10.1 (Note: this is set
+in Makefile.master and should not normally be overridden).
+.RE
+.LP
+.B VERSION
+.RS 5
+The version text string to be used; e.g., "onnv:`date '+%Y-%m-%d'`".
+.RE
+.LP
+.B RELEASE_DATE
+.RS 5
+The release date text to be used; e.g., October 2009. If not set in
+your environment file, then this text defaults to the output from
+$(LC_ALL=C date +"%B %Y"); e.g., "October 2009".
+.RE
+.LP
+.B RELEASE_BUILD
+.RS 5
+Define this to build a release with a non-DEBUG kernel.
+Generally, let
+.I nightly
+set this for you based on its options.
+.RE
+.LP
+.B PKGARCHIVE
+.RS 5
+The destination for packages.  This may be relative to $SRCTOP for
+private packages.
+.RE
+.LP
+.B MAKEFLAGS
+.RS 5
+Set default flags to make; e.g., -k to build all targets regardless of errors.
+.RE
+.LP
+.B BUILD_TOOLS
+.RS 5
+BUILD_TOOLS is the root of all tools including the compilers; e.g.,
+/ws/onnv-tools.  It is used by the makefile system, but not nightly.
+.RE
+.LP
+.B ONBLD_TOOLS
+.RS 5
+ONBLD_TOOLS is the root of all the tools that are part of SUNWonbld; e.g.,
+/ws/onnv-tools/onbld.  By default, it is derived from
+.BR BUILD_TOOLS .
+It is used by the makefile system, but not nightly.
+.RE
+.LP
+.B JAVA_ROOT
+.RS 5
+The location for the java compilers for the build, generally /usr/java.
+.RE
+.LP
+.B OPTHOME
+.RS 5
+The gate-defined default location of things formerly in /opt; e.g.,
+/ws/onnv-tools.  This is used by nightly, but not the makefiles.
+.RE
+.LP
+.B CHECK_PATHS
+.RS 5
+Normally, nightly runs the 'checkpaths' script to check for
+discrepancies among the files that list paths to other files, such as
+the exception lists.  Set this flag to 'n' to disable this
+check, which appears in the nightly output as "Check lists of files."
+.RE
+.SH NIGHTLY HOOK ENVIRONMENT VARIABLES
+.LP
+Several optional environment variables may specify commands to run at
+various points during the build.  Commands specified in the hook
+variable will be run in a subshell; command output will be appended to
+the mail message and log file.  If the hook exits with a non-zero
+status, the build is aborted immediately.  Environment variables
+defined in the environment file will be available.
+.LP
+.B SYS_PRE_NIGHTLY
+.RS 5
+This is reserved for per-build-machine customizations.
+.RE
+.LP
+.B PRE_NIGHTLY
+.RS 5
+Run just after SYS_PRE_NIGHTLY.
+.RE
+.LP
+.B POST_NIGHTLY
+.RS 5
+Run after the build completes, with the return status of nightly - one
+of "Completed", "Interrupted", or "Failed" - available in the
+environment variable NIGHTLY_STATUS.
+.RE
+.LP
+.B SYS_POST_NIGHTLY
+.RS 5
+This is reserved for per-build-machine customizations, and runs
+immedately after POST_NIGHTLY.
+.RE
+.SH EXAMPLES
+.LP
+Start with the example file in usr/src/tools/env/developer.sh
+(or gatekeeper.sh), copy to myenv and make your changes.
+.LP
+.PD 0
+# grep NIGHTLY_OPTIONS myenv
+.LP
+NIGHTLY_OPTIONS="-ACrlapDm"
+.LP
+export NIGHTLY_OPTIONS
+.LP
+# /opt/onbld/bin/nightly -i myenv
+.PD
+.SH SEE ALSO
+.BR bldenv (1ONBLD)
--- a/tools/nightly.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,354 +0,0 @@
-.\" "
-.\" " The contents of this file are subject to the terms of the
-.\" " Common Development and Distribution License (the "License").
-.\" " You may not use this file except in compliance with the License.
-.\" "
-.\" " You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" " or http://www.opensolaris.org/os/licensing.
-.\" " See the License for the specific language governing permissions
-.\" " and limitations under the License.
-.\" "
-.\" " When distributing Covered Code, include this CDDL HEADER in each
-.\" " file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" " If applicable, add the following below this CDDL HEADER, with the
-.\" " fields enclosed by brackets "[]" replaced with your own identifying
-.\" " information: Portions Copyright [yyyy] [name of copyright owner]
-.\" "
-.\" " CDDL HEADER END
-.\" "
-.\" "Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
-.\" "Copyright 2012 Joshua M. Clulow <josh@sysmgr.org>
-.\" "
-.TH NIGHTLY 1ONBLD "Jul 2, 2017"
-.SH NAME
-.I nightly
-\- build an OS-Net consolidation overnight
-.SH SYNOPSIS
-\fBnightly [-in] [-V VERS] <env_file>\fP
-.SH DESCRIPTION
-.LP
-.I nightly,
-the mother of all build scripts,
-can build, archive, package, error check, and
-generally do everything it takes to
-turn OS/Net consolidation source code into useful stuff.
-It is customizable to permit you to run anything from a
-simple build to all of the cross-checking a gatekeeper
-needs.  The advantage to using
-.I nightly
-is that you build things correctly, consistently and
-automatically, with the best practices; building with
-.I nightly
-can mean never having to say you're sorry to your
-gatekeeper.
-.LP
-More
-specifically,
-.I nightly
-performs the following tasks, in order, if
-all these things are desired:
-.LP
-.RS
-.TP
-\(bu
-perform a "make clobber" to clean up old binaries
-.TP
-\(bu
-perform non-DEBUG and DEBUG builds
-.TP
-\(bu
-list proto area files and compare with previous list
-.TP
-\(bu
-copy updated proto area to parent
-.TP
-\(bu
-list shared lib interface and compare with previous list
-.TP
-\(bu
-perform a "make check" to report hdrchk/cstyle errors
-.TP
-\(bu
-report the presence of any core files
-.TP
-\(bu
-check the ELF runtime attributes of all dynamic objects
-.TP
-\(bu
-check for unreferenced files
-.TP
-\(bu
-report on which proto area objects have changed (since the last build)
-.TP
-\(bu
-report the total build time
-.TP
-\(bu
-save a detailed log file for reference
-.TP
-\(bu
-mail the user a summary of the completed build
-.RE
-.LP
-The actions of the script are almost completely determined by
-the environment variables in the
-.I env
-file, the only necessary argument.  Ths only thing you really
-need to use
-.I nightly
-is an
-.I env
-file that does what you want.
-.LP
-Like most of the other build tools in usr/src/tools, this script tends
-to change on a fairly regular basis; do not expect to be able to build
-OS/Net with a version of nightly significantly older than your source
-tree.  It has what is effectively a Consolidation Private relationship
-to other build tools and with many parts of the OS/Net makefiles,
-although it may also be used to build other consolidations.
-.SH NIGHTLY_OPTIONS
-The environment variable NIGHTLY_OPTIONS controls the actions
-.I nightly
-will take as it proceeds.
-The -i, -n, and -V options may also be used from the command
-line to control the actions without editing your environment file.
-The -i and -n options complete the build more quickly by bypassing
-some actions. If NIGHTLY_OPTIONS is not set, then "-Bmt" build
-options will be used.
-
-.B Basic action options
-.TP 10
-.B \-D
-Do a DEBUG build instead of non-DEBUG
-.TP
-.B \-M
-Do not run pmodes (safe file permission checker)
-.TP
-.B \-i
-Do an incremental build, suppressing the "make clobber" that by
-default removes all existing binaries and derived files.  From the
-command line, -i also suppresses the cstyle/hdrchk pass
-.TP
-.B \-p
-Create packages for regular install
-.TP
-.B \-m
-Send mail to $MAILTO at end of build
-.TP
-
-.LP
-.B Code checking options
-.TP 10
-.B \-A
-Check for ABI discrepancies in .so files.
-It is only required for shared object developers when there is an
-addition, deletion or change of interface in the .so files.
-.TP
-.B \-C
-Check for cstyle/hdrchk errors
-.TP
-.B \-f
-Check for unreferenced files.  Since the full workspace must be built
-in order to accurately identify unreferenced files, -f is ignored for
-incremental (-i) builds, or builds that do not include -p.
-.TP
-.B \-r
-Check the ELF runtime attributes of all dynamic objects
-.TP
-.B \-N
-Do not run protocmp or checkpaths (note: this option is not
-recommended, especially in conjunction with the \-p option)
-.TP
-.B \-w
-Report which proto area objects differ between this and the last build.
-See wsdiff(1ONBLD) for details. Note that the proto areas used for comparison
-are the last ones constructed as part of the build. As an example, if both
-a non-debug and debug build are performed (in that order), then the debug
-proto area will be used for comparison (which might not be what you want).
-.LP
-.B Groups of options
-.TP 10
-.B \-G
-Gate keeper default group of options
-.TP
-.B \-I
-Integration engineer default group of options (-mp)
-.TP
-.B \-R
-Default group of options for building a release (-mp)
-
-.LP
-.B Miscellaneous options
-.TP 10
-.B \-V VERS
-set the build version string to VERS, overriding VERSION
-
-.SH ENVIRONMENT VARIABLES
-.LP
-Here is a list of prominent environment variables that
-.I nightly
-references and the meaning of each variable.
-.B SRCTOP
-.RS 5
-The root of your workspace, including whatever metadata is kept by
-the source code management system.  This is the workspace in which the
-build will be done.
-.RE
-.LP
-.B SRC
-.RS 5
-Root of OS-Net source code, referenced by the Makefiles.  It is
-the starting point of build activity.  It should be expressed
-in terms of $SRCTOP.
-.RE
-.LP
-.B ROOT
-.RS 5
-Root of the proto area for the build.  The makefiles direct
-installation of build products to this area and
-direct references to these files by builds of commands and other
-targets.  It should be expressed in terms of $SRCTOP.
-.RE
-.LP
-.B MACH
-.RS 5
-The instruction set architecture of the build machine as given
-by \fIuname -p\fP, e.g. sparc, i386.
-.RE
-.LP
-.B ATLOG
-.RS 5
-The location of the log directory maintained by
-.IR nightly .
-This should generally be left to the default setting.
-.RE
-.LP
-.B LOGFILE
-.RS 5
-The name of the log file in the $ATLOG directory maintained by
-.IR nightly .
-This should generally be left to the default setting.
-.RE
-.LP
-.B MAILTO
-.RS 5
-The address to be used to send completion e-mail at the end of
-the build (for the \-m option).
-.RE
-.LP
-.B RELEASE
-.RS 5
-The release version number to be used; e.g., 5.10.1 (Note: this is set
-in Makefile.master and should not normally be overridden).
-.RE
-.LP
-.B VERSION
-.RS 5
-The version text string to be used; e.g., "onnv:`date '+%Y-%m-%d'`".
-.RE
-.LP
-.B RELEASE_DATE
-.RS 5
-The release date text to be used; e.g., October 2009. If not set in
-your environment file, then this text defaults to the output from
-$(LC_ALL=C date +"%B %Y"); e.g., "October 2009".
-.RE
-.LP
-.B RELEASE_BUILD
-.RS 5
-Define this to build a release with a non-DEBUG kernel.
-Generally, let
-.I nightly
-set this for you based on its options.
-.RE
-.LP
-.B PKGARCHIVE
-.RS 5
-The destination for packages.  This may be relative to $SRCTOP for
-private packages.
-.RE
-.LP
-.B MAKEFLAGS
-.RS 5
-Set default flags to make; e.g., -k to build all targets regardless of errors.
-.RE
-.LP
-.B BUILD_TOOLS
-.RS 5
-BUILD_TOOLS is the root of all tools including the compilers; e.g.,
-/ws/onnv-tools.  It is used by the makefile system, but not nightly.
-.RE
-.LP
-.B ONBLD_TOOLS
-.RS 5
-ONBLD_TOOLS is the root of all the tools that are part of SUNWonbld; e.g.,
-/ws/onnv-tools/onbld.  By default, it is derived from
-.BR BUILD_TOOLS .
-It is used by the makefile system, but not nightly.
-.RE
-.LP
-.B JAVA_ROOT
-.RS 5
-The location for the java compilers for the build, generally /usr/java.
-.RE
-.LP
-.B OPTHOME
-.RS 5
-The gate-defined default location of things formerly in /opt; e.g.,
-/ws/onnv-tools.  This is used by nightly, but not the makefiles.
-.RE
-.LP
-.B CHECK_PATHS
-.RS 5
-Normally, nightly runs the 'checkpaths' script to check for
-discrepancies among the files that list paths to other files, such as
-the exception lists.  Set this flag to 'n' to disable this
-check, which appears in the nightly output as "Check lists of files."
-.RE
-.SH NIGHTLY HOOK ENVIRONMENT VARIABLES
-.LP
-Several optional environment variables may specify commands to run at
-various points during the build.  Commands specified in the hook
-variable will be run in a subshell; command output will be appended to
-the mail message and log file.  If the hook exits with a non-zero
-status, the build is aborted immediately.  Environment variables
-defined in the environment file will be available.
-.LP
-.B SYS_PRE_NIGHTLY
-.RS 5
-This is reserved for per-build-machine customizations.
-.RE
-.LP
-.B PRE_NIGHTLY
-.RS 5
-Run just after SYS_PRE_NIGHTLY.
-.RE
-.LP
-.B POST_NIGHTLY
-.RS 5
-Run after the build completes, with the return status of nightly - one
-of "Completed", "Interrupted", or "Failed" - available in the
-environment variable NIGHTLY_STATUS.
-.RE
-.LP
-.B SYS_POST_NIGHTLY
-.RS 5
-This is reserved for per-build-machine customizations, and runs
-immedately after POST_NIGHTLY.
-.RE
-.SH EXAMPLES
-.LP
-Start with the example file in usr/src/tools/env/developer.sh
-(or gatekeeper.sh), copy to myenv and make your changes.
-.LP
-.PD 0
-# grep NIGHTLY_OPTIONS myenv
-.LP
-NIGHTLY_OPTIONS="-ACrlapDm"
-.LP
-export NIGHTLY_OPTIONS
-.LP
-# /opt/onbld/bin/nightly -i myenv
-.PD
-.SH SEE ALSO
-.BR bldenv (1ONBLD)
--- a/usr/src/cmd/fs.d/autofs/Makefile	Mon Jul 16 09:17:09 2018 -0400
+++ b/usr/src/cmd/fs.d/autofs/Makefile	Mon Jul 16 14:49:03 2018 -0400
@@ -36,8 +36,6 @@
 
 LINKINSTALL=	$(ROOTUSRSBIN)/$(AUTO)
 LINKVALUE=	../lib/fs/$(FSTYPE)/$(AUTO)
-MAPS=		auto_master auto_home
-MAPINSTALL=	$(MAPS:%=$(ROOTETC)/%)
 AUTOFS=		autofs
 DEFAULTFILES=	autofs.dfl
 SMFMANIFEST=	autofs.xml
@@ -45,7 +43,7 @@
 MFSTINSTALL=	$(SMFMANIFEST:%=$(ROOTSVCSYSTEM)/filesystem/%)
 METHODINSTALL=	$(SMFMETHOD:%=$(ROOTLIBSVCMETHOD)/%)
 
-OTHERINSTALL=	$(MAPINSTALL) $(LINKINSTALL) $(ROOTETCDEFAULTFILES) \
+OTHERINSTALL=	$(LINKINSTALL) $(ROOTETCDEFAULTFILES) \
 		$(MFSTINSTALL) $(METHODINSTALL)
 
 UNCHECKED_HDRS=	webnfs.h
@@ -55,8 +53,6 @@
 
 include		../Makefile.fstype
 
-$(MAPINSTALL)	:= FILEMODE= 0644
-
 $(MFSTINSTALL)	:= FILEMODE = 0444
 
 REAL_COMMON=	debug_alloc.o
--- a/usr/src/cmd/fs.d/autofs/auto_home	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
-# Use is subject to license terms.
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# ident	"%Z%%M%	%I%	%E% SMI"
-#
-# Home directory map for automounter
-#
-+auto_home
--- a/usr/src/cmd/fs.d/autofs/auto_master	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#
-# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
-# Use is subject to license terms.
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# ident	"%Z%%M%	%I%	%E% SMI"
-#
-# Master map for automounter
-#
-+auto_master
-/net		-hosts		-nosuid,nobrowse
-/home		auto_home	-nobrowse
--- a/usr/src/cmd/fs.d/autofs/autofs.xml	Mon Jul 16 09:17:09 2018 -0400
+++ b/usr/src/cmd/fs.d/autofs/autofs.xml	Mon Jul 16 14:49:03 2018 -0400
@@ -37,7 +37,7 @@
 <service
 	name='system/filesystem/autofs'
 	type='service'
-	version='1'>
+	version='2'>
 
 	<dependency
 		name='fs'
@@ -101,7 +101,7 @@
 
 	<property_group name='application' type='framework'>
 		<stability value='Evolving' />
-		<propval name='auto_enable' type='boolean' value='true' />
+		<propval name='auto_enable' type='boolean' value='false' />
 	</property_group>
 
 	<instance name='default' enabled='false'>
--- a/usr/src/pkg/manifests/developer-build-onbld.mf	Mon Jul 16 09:17:09 2018 -0400
+++ b/usr/src/pkg/manifests/developer-build-onbld.mf	Mon Jul 16 14:49:03 2018 -0400
@@ -54,7 +54,7 @@
 dir path=opt/onbld/lib/python$(PYTHON_VERSION)/onbld/Checks
 dir path=opt/onbld/lib/python$(PYTHON_VERSION)/onbld/Scm
 dir path=opt/onbld/man
-dir path=opt/onbld/man/man1onbld
+dir path=opt/onbld/man/man1
 $(i386_ONLY)file path=opt/onbld/bin/$(ARCH)/btxld mode=0555
 file path=opt/onbld/bin/$(ARCH)/codereview mode=0555
 file path=opt/onbld/bin/$(ARCH)/ctfconvert mode=0555
@@ -170,23 +170,23 @@
     mode=0444
 file path=opt/onbld/lib/python$(PYTHON_VERSION)/onbld/__init__.py mode=0444
 file path=opt/onbld/lib/python$(PYTHON_VERSION)/onbld/__init__.pyc mode=0444
-file path=opt/onbld/man/man1onbld/Install.1onbld
-file path=opt/onbld/man/man1onbld/btxld.1onbld
-file path=opt/onbld/man/man1onbld/cddlchk.1onbld
-file path=opt/onbld/man/man1onbld/check_rtime.1onbld
-file path=opt/onbld/man/man1onbld/checkpaths.1onbld
-file path=opt/onbld/man/man1onbld/codereview.1onbld
-file path=opt/onbld/man/man1onbld/cstyle.1onbld
-file path=opt/onbld/man/man1onbld/find_elf.1onbld
-file path=opt/onbld/man/man1onbld/get_depend_info.1onbld
-file path=opt/onbld/man/man1onbld/git-pbchk.1onbld
-file path=opt/onbld/man/man1onbld/hdrchk.1onbld
-file path=opt/onbld/man/man1onbld/interface_check.1onbld
-file path=opt/onbld/man/man1onbld/interface_cmp.1onbld
-file path=opt/onbld/man/man1onbld/make_pkg_db.1onbld
-file path=opt/onbld/man/man1onbld/mapfilechk.1onbld
-file path=opt/onbld/man/man1onbld/ndrgen.1onbld
-file path=opt/onbld/man/man1onbld/wsdiff.1onbld
+file path=opt/onbld/man/man1/Install.1
+file path=opt/onbld/man/man1/btxld.1
+file path=opt/onbld/man/man1/cddlchk.1
+file path=opt/onbld/man/man1/check_rtime.1
+file path=opt/onbld/man/man1/checkpaths.1
+file path=opt/onbld/man/man1/codereview.1
+file path=opt/onbld/man/man1/cstyle.1
+file path=opt/onbld/man/man1/find_elf.1
+file path=opt/onbld/man/man1/get_depend_info.1
+file path=opt/onbld/man/man1/git-pbchk.1
+file path=opt/onbld/man/man1/hdrchk.1
+file path=opt/onbld/man/man1/interface_check.1
+file path=opt/onbld/man/man1/interface_cmp.1
+file path=opt/onbld/man/man1/make_pkg_db.1
+file path=opt/onbld/man/man1/mapfilechk.1
+file path=opt/onbld/man/man1/ndrgen.1
+file path=opt/onbld/man/man1/wsdiff.1
 license cr_Sun license=cr_Sun
 license lic_CDDL license=lic_CDDL
 license usr/src/lib/libdwarf/THIRDPARTYLICENSE \
@@ -196,4 +196,4 @@
 link path=opt/onbld/bin/git-nits target=git-pbchk
 link path=opt/onbld/lib/$(ARCH)/libctf.so target=libctf.so.1
 link path=opt/onbld/lib/python target=python$(PYTHON_VERSION)
-link path=opt/onbld/man/man1onbld/git-nits.1onbld target=git-pbchk.1onbld
+link path=opt/onbld/man/man1/git-nits.1 target=git-pbchk.1
--- a/usr/src/pkg/manifests/system-file-system-autofs.mf	Mon Jul 16 09:17:09 2018 -0400
+++ b/usr/src/pkg/manifests/system-file-system-autofs.mf	Mon Jul 16 14:49:03 2018 -0400
@@ -48,8 +48,6 @@
 dir path=usr/share/man
 dir path=usr/share/man/man8
 dir path=usr/share/man/man4
-file path=etc/auto_home preserve=true
-file path=etc/auto_master preserve=true
 file path=etc/default/autofs group=sys preserve=renameold
 file path=lib/svc/manifest/system/filesystem/autofs.xml group=sys mode=0444
 file path=lib/svc/method/svc-autofs mode=0555
--- a/usr/src/tools/Makefile	Mon Jul 16 09:17:09 2018 -0400
+++ b/usr/src/tools/Makefile	Mon Jul 16 14:49:03 2018 -0400
@@ -69,7 +69,7 @@
 	$(ROOTONBLD)/etc \
 	$(ROOTONBLD)/etc/exception_lists \
 	$(ROOTONBLD)/man \
-	$(ROOTONBLD)/man/man1onbld
+	$(ROOTONBLD)/man/man1
 
 all :=		TARGET= install
 install :=	TARGET= install
--- a/usr/src/tools/Makefile.tools	Mon Jul 16 09:17:09 2018 -0400
+++ b/usr/src/tools/Makefile.tools	Mon Jul 16 14:49:03 2018 -0400
@@ -40,7 +40,7 @@
 ROOTONBLDLIBPY=		$(ROOTONBLD)/lib/python
 ROOTONBLDENV=		$(ROOTONBLD)/env
 ROOTONBLDMAN=		$(ROOTONBLD)/man
-ROOTONBLDMAN1ONBLD=	$(ROOTONBLD)/man/man1onbld
+ROOTONBLDMAN1ONBLD=	$(ROOTONBLD)/man/man1
 ROOTONBLDETCABI=	$(ROOTONBLD)/etc/abi
 ROOTONBLDETCEXCEPT=	$(ROOTONBLD)/etc/exception_lists
 
--- a/usr/src/tools/btxld/Makefile	Mon Jul 16 09:17:09 2018 -0400
+++ b/usr/src/tools/btxld/Makefile	Mon Jul 16 14:49:03 2018 -0400
@@ -23,7 +23,7 @@
 EXTRA_SRC=	$(COMMON_SRC)/mboot_extra.c
 
 PROG=		btxld
-MAN1ONBLDFILES=	btxld.1onbld
+MAN1ONBLDFILES=	btxld.1
 SRCS=		btxld.c elfh.c version.c $(UTILS_SRC) $(EINFO_SRC) $(EXTRA_SRC)
 OBJS=		btxld.o elfh.o version.o bblk_einfo.o mboot_extra.o boot_utils.o
 LDLIBS +=	-lmd5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/btxld/btxld.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,97 @@
+.\" Copyright (c) 1998 Robert Nordier
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+.\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd Nov 8, 2017
+.Dt BTXLD 1ONBLD
+.Os
+.Sh NAME
+.Nm btxld
+.Nd link editor for BTX clients
+.Sh SYNOPSIS
+.Nm
+.Op Fl qv
+.Op Fl b Ar file
+.Op Fl E Ar address
+.Op Fl e Ar address
+.Op Fl f Ar format
+.Op Fl l Ar file
+.Op Fl o Ar filename
+.Op Fl P Ar page
+.Op Fl V Ar version
+.Op Fl W Ar page
+.Ar file
+.Sh DESCRIPTION
+The
+.Nm
+utility binds the specified client executable together with a BTX
+loader program and the BTX kernel, and creates a composite object file
+suitable for loading during the boot process.
+.Pp
+The options are:
+.Bl -tag -width indent
+.It Fl q
+Quiet: inhibit warnings.
+.It Fl v
+Verbose: display information about the files processed.
+.It Fl b Ar file
+Specify the BTX kernel to be bound with the client.
+.It Fl E Ar address
+Set the client entry point.
+.It Fl e Ar address
+Set the BTX loader entry point.
+.It Fl f Ar format
+Specify the output format, where
+.Ar format
+is one of
+.Sq bin ,
+.Sq aout ,
+or
+.Sq elf .
+.It Fl l Ar file
+Specify the BTX loader to be bound with the client.
+.It Fl o Ar filename
+Name the output file.
+The default is
+.Dq a.out .
+.It Fl P Ar page
+Specify the first page of the client's segment to be marked
+.Sq present ,
+where
+.Ar page
+may be 0 or 1.
+.It Fl V Ar version
+Specify the version string.
+.It Fl W Ar page
+Specify the first page of the client's segment to be marked
+.Sq writable ,
+where
+.Ar page
+may be 0, and should not exceed the number of pages occupied by the
+combined .text and .data segments of the client image.
+.El
+.Sh EXIT STATUS
+.Ex -std
+.Sh SEE ALSO
+.Xr ld 1 ,
+.Xr boot 1M
--- a/usr/src/tools/btxld/btxld.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-.\" Copyright (c) 1998 Robert Nordier
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
-.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
-.\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
-.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.Dd Nov 8, 2017
-.Dt BTXLD 1ONBLD
-.Os
-.Sh NAME
-.Nm btxld
-.Nd link editor for BTX clients
-.Sh SYNOPSIS
-.Nm
-.Op Fl qv
-.Op Fl b Ar file
-.Op Fl E Ar address
-.Op Fl e Ar address
-.Op Fl f Ar format
-.Op Fl l Ar file
-.Op Fl o Ar filename
-.Op Fl P Ar page
-.Op Fl V Ar version
-.Op Fl W Ar page
-.Ar file
-.Sh DESCRIPTION
-The
-.Nm
-utility binds the specified client executable together with a BTX
-loader program and the BTX kernel, and creates a composite object file
-suitable for loading during the boot process.
-.Pp
-The options are:
-.Bl -tag -width indent
-.It Fl q
-Quiet: inhibit warnings.
-.It Fl v
-Verbose: display information about the files processed.
-.It Fl b Ar file
-Specify the BTX kernel to be bound with the client.
-.It Fl E Ar address
-Set the client entry point.
-.It Fl e Ar address
-Set the BTX loader entry point.
-.It Fl f Ar format
-Specify the output format, where
-.Ar format
-is one of
-.Sq bin ,
-.Sq aout ,
-or
-.Sq elf .
-.It Fl l Ar file
-Specify the BTX loader to be bound with the client.
-.It Fl o Ar filename
-Name the output file.
-The default is
-.Dq a.out .
-.It Fl P Ar page
-Specify the first page of the client's segment to be marked
-.Sq present ,
-where
-.Ar page
-may be 0 or 1.
-.It Fl V Ar version
-Specify the version string.
-.It Fl W Ar page
-Specify the first page of the client's segment to be marked
-.Sq writable ,
-where
-.Ar page
-may be 0, and should not exceed the number of pages occupied by the
-combined .text and .data segments of the client image.
-.El
-.Sh EXIT STATUS
-.Ex -std
-.Sh SEE ALSO
-.Xr ld 1 ,
-.Xr boot 1M
--- a/usr/src/tools/codereview/Makefile	Mon Jul 16 09:17:09 2018 -0400
+++ b/usr/src/tools/codereview/Makefile	Mon Jul 16 14:49:03 2018 -0400
@@ -34,7 +34,7 @@
 
 CERRWARN += -Wno-parentheses
 
-MAN1ONBLDFILES= codereview.1onbld
+MAN1ONBLDFILES= codereview.1
 
 $(ROOTONBLDMAN1ONBLDFILES) := FILEMODE=      644
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/codereview/codereview.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,94 @@
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+.\" Use is subject to license terms.
+.TH CODEREVIEW 1ONBLD "Aug 5, 2008"
+.UC
+.SH NAME
+codereview \- Diff list generator
+.SH SYNOPSIS
+.B codereview
+[-e] [-h\f2heading\fP] [-r]
+.I oldfile
+.I newfile
+.SH DESCRIPTION
+.PP
+The
+.I codereview
+command expects two ASCII text files as input
+and produces Postscript describing the differences between the files.
+The first file is assumed to be the older version,
+and the second file is assumed to be the newer version.
+If either
+.I oldfile
+or
+.I newfile
+is
+.BR - ,
+the corresponding file is taken from the standard input.
+The output goes to standard output and lists all lines from both files,
+with lines changed from the first to the second being highlighted in gray.
+Lines deleted from the first file are listed in italic,
+while lines added to the second file are listed in bold.
+.SH OPTIONS
+.TP 10
+.B \-e
+Elide unchanged functions.
+Functions which are unchanged will be heuristically eliminated from the listing.
+Only the function end is parsed.
+The assumption is that a brace ('}')
+in column one represents the end of a function.
+Thus unchanged structure definitions may be elided also.
+For support of assembly language files,
+the string "SET_SIZE(" occurring in a line is assumed
+to mark the end of a function also.
+.TP
+.BI \-h heading
+Put a header on each page.
+The
+.I heading
+string appears at the upper left of each page,
+and the page number appears at the upper right.
+.TP
+.B \-r
+Enable page reversal so that the pages appear in the correct sequence
+in the output tray of printers like the Apple LaserWriter.
+The default is not to perform page reversal,
+which is correct for printers like the NEC Silentwriter LC-890.
+.SH FILES
+.nf
+/tmp/lwlpXXXXXX		\- temporary file used for page reversal
+.fi
+.SH LIMITATIONS
+The maximum input line length is 1024 characters.
+This should not present a problem
+since the corresponding output line length would be too long to be printed.
+The program silently truncates input lines that are too long.
+.SH NOTES
+The command
+.sp 0.5v
+pageview -right -h 17 -w 11 -Ws 1100 850 -dpi 100 out.ps
+.sp 0.5v
+is useful for displaying the results of
+.IR codereview .
+.SH AUTHOR
+John Zolnowsky
+.br
+SunSoft, Inc.
--- a/usr/src/tools/codereview/codereview.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.\" Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
-.\" Use is subject to license terms.
-.TH CODEREVIEW 1ONBLD "Aug 5, 2008"
-.UC
-.SH NAME
-codereview \- Diff list generator
-.SH SYNOPSIS
-.B codereview
-[-e] [-h\f2heading\fP] [-r]
-.I oldfile
-.I newfile
-.SH DESCRIPTION
-.PP
-The
-.I codereview
-command expects two ASCII text files as input
-and produces Postscript describing the differences between the files.
-The first file is assumed to be the older version,
-and the second file is assumed to be the newer version.
-If either
-.I oldfile
-or
-.I newfile
-is
-.BR - ,
-the corresponding file is taken from the standard input.
-The output goes to standard output and lists all lines from both files,
-with lines changed from the first to the second being highlighted in gray.
-Lines deleted from the first file are listed in italic,
-while lines added to the second file are listed in bold.
-.SH OPTIONS
-.TP 10
-.B \-e
-Elide unchanged functions.
-Functions which are unchanged will be heuristically eliminated from the listing.
-Only the function end is parsed.
-The assumption is that a brace ('}')
-in column one represents the end of a function.
-Thus unchanged structure definitions may be elided also.
-For support of assembly language files,
-the string "SET_SIZE(" occurring in a line is assumed
-to mark the end of a function also.
-.TP
-.BI \-h heading
-Put a header on each page.
-The
-.I heading
-string appears at the upper left of each page,
-and the page number appears at the upper right.
-.TP
-.B \-r
-Enable page reversal so that the pages appear in the correct sequence
-in the output tray of printers like the Apple LaserWriter.
-The default is not to perform page reversal,
-which is correct for printers like the NEC Silentwriter LC-890.
-.SH FILES
-.nf
-/tmp/lwlpXXXXXX		\- temporary file used for page reversal
-.fi
-.SH LIMITATIONS
-The maximum input line length is 1024 characters.
-This should not present a problem
-since the corresponding output line length would be too long to be printed.
-The program silently truncates input lines that are too long.
-.SH NOTES
-The command
-.sp 0.5v
-pageview -right -h 17 -w 11 -Ws 1100 850 -dpi 100 out.ps
-.sp 0.5v
-is useful for displaying the results of
-.IR codereview .
-.SH AUTHOR
-John Zolnowsky
-.br
-SunSoft, Inc.
--- a/usr/src/tools/depcheck/Makefile	Mon Jul 16 09:17:09 2018 -0400
+++ b/usr/src/tools/depcheck/Makefile	Mon Jul 16 14:49:03 2018 -0400
@@ -32,8 +32,8 @@
 	SamplePkgLinks
 
 MAN1ONBLDFILES= \
-	get_depend_info.1onbld \
-	make_pkg_db.1onbld
+	get_depend_info.1 \
+	make_pkg_db.1
 
 include ../Makefile.tools
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/depcheck/get_depend_info.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,200 @@
+'\" t
+.\" 
+.\" CDDL HEADER START
+.\" 
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License").  You may not use this file except in compliance
+.\" with the License.
+.\" 
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\" 
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\" 
+.\" CDDL HEADER END
+.\" 
+.\" 
+.\" Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\" 
+.TH GET_DEPEND_INFO 1ONBLD "Nov 2, 2000"
+.SH "NAME"
+get_depend_info \- get dependency information about a package or a file
+.SH "SYNOPSIS"
+.PP
+.nf
+\fBget_depend_info\fR [-\fBcons\fR] \-\fBdbdir\fR \fIdbm_database_pathname\fR
+                [-\fBf\fR | -\fBp\fR] [-\fBh\fR] [-\fBroot\fR \fIroot_pathname\fR]
+                [-\fBs\fR] [-\fBpkg\fR \fISUN_package\fR | \fIfilename\fR \&...]
+.fi
+.SH "DESCRIPTION"
+.PP
+The \fBget_depend_info\fR command prints dependency information about a package,
+a file, or a set of files on the standard output\&.
+.SH "OPTIONS"
+.PP
+The following options are supported:
+.sp
+.ne 2
+\fB-\fBcons\fR\fR
+.in +16n
+Turns on conservative mode, that is, refrains from using
+\fB/usr/bin/strings\fR\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+\fB-\fBdbdir\fR\fR
+.in +16n
+Specifies the directory in which the Perl DBM databases generated by
+\fBmake_pkg_db\fR(1ONBLD) are located\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+\fB-\fBf\fR\fR
+.in +16n
+Outputs file dependencies only\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+\fB-\fBh\fR\fR
+.in +16n
+Displays help\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+\fB-\fBp\fR\fR
+.in +16n
+Outputs package dependencies only\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+\fB-\fBpkg\fR\fR
+.in +16n
+Specifies a particular package on which you want to run the dependency
+analysis\&. You must specify this option if you specify either a Sun software
+package or a third-party software package that conforms with the Sun package
+format (\fISUN_package\fR)\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+\fB-\fBroot\fR\fR
+.in +16n
+Specifies an alternate root\&. You must also use the -\fBpkg\fR option if you
+use this option\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+\fB-\fBs\fR\fR
+.in +16n
+Outputs symbolic links for files or packages only\&.
+.sp
+.sp 1
+.in -16n
+.SH "OPERANDS"
+.PP
+The following operands are supported:
+.sp
+.ne 2
+\fB\fIdbm_database_pathname\fR\fR
+.in +24n
+Specifies the path name of the directory in which the Perl DBM databases
+generated by \fBmake_pkg_db\fR are located\&.
+.sp
+.sp 1
+.in -24n
+.sp
+.ne 2
+\fB\fIfilename\fR\fR
+.in +24n
+Specifies the name of a file or files on which you want to run the dependency
+analysis\&.
+.sp
+.sp 1
+.in -24n
+.sp
+.ne 2
+\fB\fIroot_pathname\fR\fR
+.in +24n
+Specifies the path name of an alternate root you want to use\&.
+.sp
+.sp 1
+.in -24n
+.sp
+.ne 2
+\fB\fISUN_package\fR\fR
+.in +24n
+Specifies the name of a particular Sun software package (or any third-party
+software package that conforms with the Sun package format) on which you want
+to run the dependency analysis\&. You must use the -\fBpkg\fR option if you
+specify this operand\&.
+.sp
+.sp 1
+.in -24n
+.PP
+You can specify either a Sun software package or a file name, but not both\&.
+.SH "EXAMPLES"
+.PP
+\fBExample 1:\fR To Get a Dependency Analysis of Two Particular Files
+.PP
+.nf
+% get_depend_info -dbdir MyDir /usr/bin/ls /usr/bin/man
+.fi
+.PP
+\fBExample 2:\fR To Get a Dependency Analysis of Files Using a Wild Card
+.PP
+.nf
+% get_depend_info -dbdir MyDir /usr/sbin/*
+.fi
+.PP
+\fBExample 3:\fR To Get a Dependency Analysis of a Package in Sun Format
+.PP
+.nf
+% get_depend_info -dbdir MyDir -pkg NSCPcom
+% get_depend_info -dbdir MyDir -pkg SUNWnisu
+.fi
+.PP
+\fBExample 4:\fR To Display Help
+.PP
+.nf
+% get_depend_info -h
+.fi
+.SH "ATTRIBUTES"
+.PP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE	ATTRIBUTE VALUE
+_
+Availability	SUNWonbld
+CSI	Enabled
+Interface Stability	Evolving
+MT-Level	Unsafe
+.TE
+.sp
+.SH "SEE ALSO"
+.PP
+\fBmake_pkg_db\fR(1ONBLD), \fBattributes\fR(5)
--- a/usr/src/tools/depcheck/get_depend_info.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-'\" t
-.\" 
-.\" CDDL HEADER START
-.\" 
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License, Version 1.0 only
-.\" (the "License").  You may not use this file except in compliance
-.\" with the License.
-.\" 
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\" 
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\" 
-.\" CDDL HEADER END
-.\" 
-.\" 
-.\" Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
-.\" Use is subject to license terms.
-.\" 
-.TH GET_DEPEND_INFO 1ONBLD "Nov 2, 2000"
-.SH "NAME"
-get_depend_info \- get dependency information about a package or a file
-.SH "SYNOPSIS"
-.PP
-.nf
-\fBget_depend_info\fR [-\fBcons\fR] \-\fBdbdir\fR \fIdbm_database_pathname\fR
-                [-\fBf\fR | -\fBp\fR] [-\fBh\fR] [-\fBroot\fR \fIroot_pathname\fR]
-                [-\fBs\fR] [-\fBpkg\fR \fISUN_package\fR | \fIfilename\fR \&...]
-.fi
-.SH "DESCRIPTION"
-.PP
-The \fBget_depend_info\fR command prints dependency information about a package,
-a file, or a set of files on the standard output\&.
-.SH "OPTIONS"
-.PP
-The following options are supported:
-.sp
-.ne 2
-\fB-\fBcons\fR\fR
-.in +16n
-Turns on conservative mode, that is, refrains from using
-\fB/usr/bin/strings\fR\&.
-.sp
-.sp 1
-.in -16n
-.sp
-.ne 2
-\fB-\fBdbdir\fR\fR
-.in +16n
-Specifies the directory in which the Perl DBM databases generated by
-\fBmake_pkg_db\fR(1ONBLD) are located\&.
-.sp
-.sp 1
-.in -16n
-.sp
-.ne 2
-\fB-\fBf\fR\fR
-.in +16n
-Outputs file dependencies only\&.
-.sp
-.sp 1
-.in -16n
-.sp
-.ne 2
-\fB-\fBh\fR\fR
-.in +16n
-Displays help\&.
-.sp
-.sp 1
-.in -16n
-.sp
-.ne 2
-\fB-\fBp\fR\fR
-.in +16n
-Outputs package dependencies only\&.
-.sp
-.sp 1
-.in -16n
-.sp
-.ne 2
-\fB-\fBpkg\fR\fR
-.in +16n
-Specifies a particular package on which you want to run the dependency
-analysis\&. You must specify this option if you specify either a Sun software
-package or a third-party software package that conforms with the Sun package
-format (\fISUN_package\fR)\&.
-.sp
-.sp 1
-.in -16n
-.sp
-.ne 2
-\fB-\fBroot\fR\fR
-.in +16n
-Specifies an alternate root\&. You must also use the -\fBpkg\fR option if you
-use this option\&.
-.sp
-.sp 1
-.in -16n
-.sp
-.ne 2
-\fB-\fBs\fR\fR
-.in +16n
-Outputs symbolic links for files or packages only\&.
-.sp
-.sp 1
-.in -16n
-.SH "OPERANDS"
-.PP
-The following operands are supported:
-.sp
-.ne 2
-\fB\fIdbm_database_pathname\fR\fR
-.in +24n
-Specifies the path name of the directory in which the Perl DBM databases
-generated by \fBmake_pkg_db\fR are located\&.
-.sp
-.sp 1
-.in -24n
-.sp
-.ne 2
-\fB\fIfilename\fR\fR
-.in +24n
-Specifies the name of a file or files on which you want to run the dependency
-analysis\&.
-.sp
-.sp 1
-.in -24n
-.sp
-.ne 2
-\fB\fIroot_pathname\fR\fR
-.in +24n
-Specifies the path name of an alternate root you want to use\&.
-.sp
-.sp 1
-.in -24n
-.sp
-.ne 2
-\fB\fISUN_package\fR\fR
-.in +24n
-Specifies the name of a particular Sun software package (or any third-party
-software package that conforms with the Sun package format) on which you want
-to run the dependency analysis\&. You must use the -\fBpkg\fR option if you
-specify this operand\&.
-.sp
-.sp 1
-.in -24n
-.PP
-You can specify either a Sun software package or a file name, but not both\&.
-.SH "EXAMPLES"
-.PP
-\fBExample 1:\fR To Get a Dependency Analysis of Two Particular Files
-.PP
-.nf
-% get_depend_info -dbdir MyDir /usr/bin/ls /usr/bin/man
-.fi
-.PP
-\fBExample 2:\fR To Get a Dependency Analysis of Files Using a Wild Card
-.PP
-.nf
-% get_depend_info -dbdir MyDir /usr/sbin/*
-.fi
-.PP
-\fBExample 3:\fR To Get a Dependency Analysis of a Package in Sun Format
-.PP
-.nf
-% get_depend_info -dbdir MyDir -pkg NSCPcom
-% get_depend_info -dbdir MyDir -pkg SUNWnisu
-.fi
-.PP
-\fBExample 4:\fR To Display Help
-.PP
-.nf
-% get_depend_info -h
-.fi
-.SH "ATTRIBUTES"
-.PP
-See \fBattributes\fR(5) for descriptions of the following attributes:
-.sp
-.TS
-box;
-c | c
-l | l .
-ATTRIBUTE TYPE	ATTRIBUTE VALUE
-_
-Availability	SUNWonbld
-CSI	Enabled
-Interface Stability	Evolving
-MT-Level	Unsafe
-.TE
-.sp
-.SH "SEE ALSO"
-.PP
-\fBmake_pkg_db\fR(1ONBLD), \fBattributes\fR(5)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/depcheck/make_pkg_db.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,196 @@
+'\" t
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License").  You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"
+.\" Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.TH MAKE_PKG_DB 1ONBLD "Nov 2, 2000"
+.SH "NAME"
+make_pkg_db \- create a Perl DBM database of installed software
+.SH "SYNOPSIS"
+.PP
+.nf
+\fBmake_pkg_db\fR \-\fBdbdir\fR \fIdbm_database_pathname\fR\ [-\fBh\fR]
+            [-\fBifiles\fR \fIfilename\fR\&...]
+            [-\fBpkgdef\fR \fIpackage_pool_pathname\fR]
+.fi
+.SH "DESCRIPTION"
+.PP
+The \fBmake_pkg_db\fR command (a Perl script) generates a Perl DBM database of
+software installed on a system based on \fB/var/sadm/install/contents\fR or the
+contents of a package pool directory\&. The Perl DBM database files are used by
+\fBget_depend_info\fR(1ONBLD)\&.
+.PP
+The Perl DBM database files contain information keyed on a file name\&. Some
+files, for example, list the package in which a file is included and the
+permissions of the file\&.
+.PP
+If you run \fBmake_pkg_db\ -dbdir\ \fIdbm_database_pathname\fR\fR, an error
+message such as:
+.PP
+\fB***CANNOT RESOLVE ABSOLUTE PATH /usr/java/bin/appletviewer\fR
+.PP
+is generated because the script cannot resolve symbolic links based on the
+information in \fB/var/sadm/install/contents\fR\&. In
+\fB/var/sadm/install/contents\fR, for example, \fBappletviewer\fR is specified
+as a symbolic link:
+.sp
+.nf
+\f(CW/usr/bin/appletviewer=\&.\&./java/bin/appletviewer s none SUNWj2dev\fR
+.fi
+.sp
+.PP
+Unfortunately, \fB/usr/java\fR is a symbolic link to \fB/usr/java1\&.2\fR\&.
+The correct file entry in \fB/var/sadm/install/contents\fR is therefore
+\fB/usr/java1\&.2/bin/appletviewer\fR\&. It is impossible for this script to
+resolve this link based on the information in
+\fB/var/sadm/install/contents\fR\&.
+.PP
+To correct this problem, create a file named \fBMyLinkResolution\fR and add
+this entry:
+.sp
+.nf
+\f(CW/usr/bin/appletviewer=\&.\&./java1\&.2/bin/appletviewer s none SUNWj2dev\fR
+.fi
+.sp
+.PP
+Then enter this command:
+.PP
+.sp
+.nf
+\f(CWmake_pkg_db -dbdir \fIdbm_database_pathname\fR -ifiles MyLinkResolution\fR
+.fi
+.sp
+When you execute this command, the following message is displayed:
+.sp
+.nf
+\f(CW\&.\&.\&.OVERRIDDEN: /usr/bin/appletviewer=
+\&.\&./java/bin/appletviewer s none SUNWj2dev\fR
+.fi
+.sp
+.PP
+This message indicates that the original entry in
+\fB/var/sadm/install/contents\fR is ignored and your new entry in
+\fBMyLinkResolution\fR is used instead\&.
+.PP
+\fBSampleLinks\fR is a file you can use to resolve links in
+\fB/var/sadm/install/contents\fR for Solaris (Intel Platform Edition)\&.
+\fBSamplePkgLinks\fR is a file you can use to resolve some of the links used on
+the Solaris 8 Software 1 of 2 Intel Platform Edition CD\&. You might want to
+modify these two preceding files for SPARC or for your particular environment\&.
+.PP
+The \fBmake_pkg_db\fR script verifies the files it finds against the software
+that is actually installed on the system\&. The more complete the information,
+the more accurate the output of the script\&.
+.SH "OPTIONS"
+.PP
+The following options are supported:
+.sp
+.ne 2
+\fB-\fBdbdir\fR\fR
+.in +16n
+Specifies the directory in which you want to place the output Perl DBM
+databases\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+\fB-\fBh\fR\fR
+.in +16n
+Displays help\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+\fB-\fBifiles\fR\fR
+.in +16n
+Specifies the name of an input file you want to use to help in resolving
+symbolic links\&.
+.sp
+.sp 1
+.in -16n
+.sp
+.ne 2
+\fB-\fBpkgdef\fR\fR
+.in +16n
+Specifies the path name of the package pool you want to use instead of
+\fB/var/sadm/install/contents\fR\&.
+.sp
+.sp 1
+.in -16n
+.SH "OPERANDS"
+.PP
+The following operands are supported:
+.sp
+.ne 2
+\fB\fIdbm_database_pathname\fR\fR
+.in +24n
+Specifies the directory in which you want to place the output Perl DBM
+databases\&.
+.sp
+.sp 1
+.in -24n
+.sp
+.ne 2
+\fB\fIfilename\fR\fR
+.in +24n
+Specifies the name of a file or files that contain data in the format used in
+\fB/var/sadm/install/contents\fR\&.
+.sp
+.sp 1
+.in -24n
+.sp
+.ne 2
+\fB\fIpackage_pool_pathname\fR\fR
+.in +24n
+Specifies the path name of the package pool you want to use instead of
+\fB/var/sadm/install/contents\fR\&.
+.sp
+.sp 1
+.in -24n
+.SH "ATTRIBUTES"
+.PP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+.TS
+box;
+cw | cw
+lw | lw .
+ATTRIBUTE TYPE	ATTRIBUTE VALUE
+Availability	SUNWonbld
+CSI	Enabled
+Interface Stability	Evolving
+MT-Level	Unsafe
+.TE
+.sp
+.SH "SEE ALSO"
+.PP
+\fBget_depend_info\fR(1ONBLD), \fBattributes\fR(5)
+.SH "NOTES"
+.PP
+DBM database files are platform dependent\&. DBM database files you generate on
+a SPARC machine, for example, do not work on an IA machine (and vice-versa)\&.
+.PP
+This script might not resolve all symbolic links\&.
--- a/usr/src/tools/depcheck/make_pkg_db.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-'\" t
-.\"
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License, Version 1.0 only
-.\" (the "License").  You may not use this file except in compliance
-.\" with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.\"
-.\" Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
-.\" Use is subject to license terms.
-.\"
-.TH MAKE_PKG_DB 1ONBLD "Nov 2, 2000"
-.SH "NAME"
-make_pkg_db \- create a Perl DBM database of installed software
-.SH "SYNOPSIS"
-.PP
-.nf
-\fBmake_pkg_db\fR \-\fBdbdir\fR \fIdbm_database_pathname\fR\ [-\fBh\fR]
-            [-\fBifiles\fR \fIfilename\fR\&...]
-            [-\fBpkgdef\fR \fIpackage_pool_pathname\fR]
-.fi
-.SH "DESCRIPTION"
-.PP
-The \fBmake_pkg_db\fR command (a Perl script) generates a Perl DBM database of
-software installed on a system based on \fB/var/sadm/install/contents\fR or the
-contents of a package pool directory\&. The Perl DBM database files are used by
-\fBget_depend_info\fR(1ONBLD)\&.
-.PP
-The Perl DBM database files contain information keyed on a file name\&. Some
-files, for example, list the package in which a file is included and the
-permissions of the file\&.
-.PP
-If you run \fBmake_pkg_db\ -dbdir\ \fIdbm_database_pathname\fR\fR, an error
-message such as:
-.PP
-\fB***CANNOT RESOLVE ABSOLUTE PATH /usr/java/bin/appletviewer\fR
-.PP
-is generated because the script cannot resolve symbolic links based on the
-information in \fB/var/sadm/install/contents\fR\&. In
-\fB/var/sadm/install/contents\fR, for example, \fBappletviewer\fR is specified
-as a symbolic link:
-.sp
-.nf
-\f(CW/usr/bin/appletviewer=\&.\&./java/bin/appletviewer s none SUNWj2dev\fR
-.fi
-.sp
-.PP
-Unfortunately, \fB/usr/java\fR is a symbolic link to \fB/usr/java1\&.2\fR\&.
-The correct file entry in \fB/var/sadm/install/contents\fR is therefore
-\fB/usr/java1\&.2/bin/appletviewer\fR\&. It is impossible for this script to
-resolve this link based on the information in
-\fB/var/sadm/install/contents\fR\&.
-.PP
-To correct this problem, create a file named \fBMyLinkResolution\fR and add
-this entry:
-.sp
-.nf
-\f(CW/usr/bin/appletviewer=\&.\&./java1\&.2/bin/appletviewer s none SUNWj2dev\fR
-.fi
-.sp
-.PP
-Then enter this command:
-.PP
-.sp
-.nf
-\f(CWmake_pkg_db -dbdir \fIdbm_database_pathname\fR -ifiles MyLinkResolution\fR
-.fi
-.sp
-When you execute this command, the following message is displayed:
-.sp
-.nf
-\f(CW\&.\&.\&.OVERRIDDEN: /usr/bin/appletviewer=
-\&.\&./java/bin/appletviewer s none SUNWj2dev\fR
-.fi
-.sp
-.PP
-This message indicates that the original entry in
-\fB/var/sadm/install/contents\fR is ignored and your new entry in
-\fBMyLinkResolution\fR is used instead\&.
-.PP
-\fBSampleLinks\fR is a file you can use to resolve links in
-\fB/var/sadm/install/contents\fR for Solaris (Intel Platform Edition)\&.
-\fBSamplePkgLinks\fR is a file you can use to resolve some of the links used on
-the Solaris 8 Software 1 of 2 Intel Platform Edition CD\&. You might want to
-modify these two preceding files for SPARC or for your particular environment\&.
-.PP
-The \fBmake_pkg_db\fR script verifies the files it finds against the software
-that is actually installed on the system\&. The more complete the information,
-the more accurate the output of the script\&.
-.SH "OPTIONS"
-.PP
-The following options are supported:
-.sp
-.ne 2
-\fB-\fBdbdir\fR\fR
-.in +16n
-Specifies the directory in which you want to place the output Perl DBM
-databases\&.
-.sp
-.sp 1
-.in -16n
-.sp
-.ne 2
-\fB-\fBh\fR\fR
-.in +16n
-Displays help\&.
-.sp
-.sp 1
-.in -16n
-.sp
-.ne 2
-\fB-\fBifiles\fR\fR
-.in +16n
-Specifies the name of an input file you want to use to help in resolving
-symbolic links\&.
-.sp
-.sp 1
-.in -16n
-.sp
-.ne 2
-\fB-\fBpkgdef\fR\fR
-.in +16n
-Specifies the path name of the package pool you want to use instead of
-\fB/var/sadm/install/contents\fR\&.
-.sp
-.sp 1
-.in -16n
-.SH "OPERANDS"
-.PP
-The following operands are supported:
-.sp
-.ne 2
-\fB\fIdbm_database_pathname\fR\fR
-.in +24n
-Specifies the directory in which you want to place the output Perl DBM
-databases\&.
-.sp
-.sp 1
-.in -24n
-.sp
-.ne 2
-\fB\fIfilename\fR\fR
-.in +24n
-Specifies the name of a file or files that contain data in the format used in
-\fB/var/sadm/install/contents\fR\&.
-.sp
-.sp 1
-.in -24n
-.sp
-.ne 2
-\fB\fIpackage_pool_pathname\fR\fR
-.in +24n
-Specifies the path name of the package pool you want to use instead of
-\fB/var/sadm/install/contents\fR\&.
-.sp
-.sp 1
-.in -24n
-.SH "ATTRIBUTES"
-.PP
-See \fBattributes\fR(5) for descriptions of the following attributes:
-.sp
-.TS
-box;
-cw | cw
-lw | lw .
-ATTRIBUTE TYPE	ATTRIBUTE VALUE
-Availability	SUNWonbld
-CSI	Enabled
-Interface Stability	Evolving
-MT-Level	Unsafe
-.TE
-.sp
-.SH "SEE ALSO"
-.PP
-\fBget_depend_info\fR(1ONBLD), \fBattributes\fR(5)
-.SH "NOTES"
-.PP
-DBM database files are platform dependent\&. DBM database files you generate on
-a SPARC machine, for example, do not work on an IA machine (and vice-versa)\&.
-.PP
-This script might not resolve all symbolic links\&.
--- a/usr/src/tools/ndrgen/Makefile	Mon Jul 16 09:17:09 2018 -0400
+++ b/usr/src/tools/ndrgen/Makefile	Mon Jul 16 14:49:03 2018 -0400
@@ -25,7 +25,7 @@
 
 PROG=	ndrgen ndrgen1
 
-MAN1ONBLDFILES=	ndrgen.1onbld
+MAN1ONBLDFILES=	ndrgen.1
 
 OBJS=	ndr_main.o ndr_lex.o ndr_anal.o \
 	ndr_gen.o ndr_parse.o ndr_print.o
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/ndrgen/ndrgen.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,488 @@
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+.\" Use is subject to license terms.
+.\"
+'\" te
+.TH NDRGEN 1ONBLD "Oct 22, 2007"
+.SH NAME
+ndrgen \- NDL RPC protocol compiler
+.SH SYNOPSIS
+.LP
+.nf
+\fBndrgen\fR [ -Y \fIcpp-path\fR ] \fIfile\fR [ \fIfile\fR ] \&.\|.\|.
+.fi
+
+.SH DESCRIPTION
+.LP
+The \fBndrgen\fR utility is a tool that generates C code to implement a DCERPC/MSRPC Network Data Representation (NDR) protocol. The input to \fBndrgen\fR is a language similar to C known as Network Data Language (NDL).
+.sp
+.LP
+The \fBndrgen\fR utility takes an input protocol definition file and generates an output C source file that contains the marshalling routines to implement the RPC protocol. If the input file is named \fBproto.ndl\fR, \fBndrgen\fR generates NDR routines in \fBproto_ndr.c\fR. Applications must define the service definition and server-side stub table for use with the RPC protocol.
+.sp
+.LP
+The following is an example stub table and service definition:
+.sp
+.in +2
+.nf
+static stub_table_t net_svc_stub_table[] = {
+   { svc_close, SVC_CLOSE },
+   { svc_open,  SVC_OPEN },
+   { svc_read,  SVC_READ },
+   { svc_write, SVC_WRITE },
+   {0}
+};
+
+static service_t net_svc = {
+   "NETSVC",                    /* name */
+   "Network Service",           /* description */
+   "\e\enetsvc",                  /* endpoint */
+   "\e\epipe\e\enetsvc",            /* secondary address port */
+   "12345678-1234-abcd-ef0001234567abcd", 1,    /* abstract syntax */
+   "8a885d04-1ceb-11c9-9fe808002b104860", 2,    /* transfer syntax */
+   0,                           /* bind_instance_size */
+   0,                           /* bind_req() */
+   0,                           /* unbind_and_close() */
+   0,                           /* call_stub() */
+   &TYPEINFO(svc_interface),    /* interface ti */
+   net_svc_stub_table           /* stub_table */
+};
+.fi
+.in -2
+
+.sp
+.LP
+The C preprocessor, which can be specified in the \fBCC\fR environment variable or on the command line, is run on the input file before it is interpreted by \fBndrgen\fR. The \fBNDRGEN\fR preprocessor symbol is defined by \fBndrgen\fR for use by the \fBndrgen\fR programmer.
+.sp
+.LP
+The NDR generated by \fBndrgen\fR is an MSRPC compatible implementation of OSF DCE NDR. This implementation is based on the X/Open DCE: Remote Procedure Call specification (CAE Specification (1997), DCE 1.1: Remote Procedure Call Document Number: C706), enhanced for compatibility with MSRPC Unicode (UCS-2) strings.
+.sp
+.LP
+The following table shows the DCE RPC layering compared against ONC RPC.
+.sp
+.in +2
+.nf
+ DCE RPC Layers          ONC RPC Layers	             Remark
++---------------+       +---------------+     +----------------+
++---------------+       +---------------+
+| Application   |       | Application 	|       The application
++---------------+       +---------------+
+| Hand coded    |       | RPCGEN gen'd  |
+| client/server |       | client/server |       Generated stubs
+| proto.ndl     |       | *_svc.c *_clnt|
+| proto.c       |       |               |
++---------------+       +---------------+
+|               |       |               |       Binding/PMAP
+| RPC Library   |       | RPC Library   |       Calls/Return
++---------------+       +---------------+
+| RPC Protocol  |       | RPC Protocol  |       Headers
+| rpcpdu.ndl    |       |               |       Authentication
++---------------+       +---------------+
+| NDRGEN gen'd  |       | RPCGEN gen'd  |       Aggregation
+| NDR stubs     |       | XDR stubs     |       Composition
+| *__ndr.c      |       | *_xdr.c       |
++---------------+       +---------------+
+| NDR           |       | XDR           |       Byte order, padding
++---------------+       +---------------+
+|               |       | Network Conn  |       Large difference:
+| Heap          |       | clnt_tcp      |       see below.
+| Management    |       | clnt_udp      |
++---------------+       +---------------+
+.fi
+.in -2
+
+.sp
+.LP
+There are two major differences between the DCE RPC and ONC RPC:
+.RS +4
+.TP
+1.
+DCE RPC only generates or processes packets from buffers. Other layers must take care of packet transmission and reception. The packet heaps are managed through a simple interface provided by NDR streams.
+.sp
+ONC RPC communicates directly with the network. The programmer must do specific setup for the RPC packet to be placed in a buffer rather than sent to the wire.
+.RE
+.RS +4
+.TP
+2.
+DCE RPC uses application provided heaps to support operations. A heap is a managed chunk of memory that NDR manages as it allocates. When the operation and its result are complete, the heap is disposed of as a single item. Transactions, which are the anchor of most operations, perform heap bookkeeping.
+.sp
+ONC RPC uses \fBmalloc()\fR liberally throughout its run-time system. To free results, ONC RPC supports an \fBXDR_FREE\fR operation that traverses data structures freeing memory as it goes.
+.RE
+.sp
+.LP
+The following terminology is used in the subsequent discussion of NDR.
+.sp
+.ne 2
+.na
+\fBSize\fR
+.ad
+.sp .6
+.RS 4n
+The size of an array in elements, such as the amount to \fBmalloc()\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fBLength\fR
+.ad
+.sp .6
+.RS 4n
+The number of significant elements of an array.
+.RE
+
+.sp
+.ne 2
+.na
+\fBKnown\fR
+.ad
+.sp .6
+.RS 4n
+Size or Length is known at build time.
+.RE
+
+.sp
+.ne 2
+.na
+\fBDetermined\fR
+.ad
+.sp .6
+.RS 4n
+Size or Length is determined at run time.
+.RE
+
+.sp
+.ne 2
+.na
+\fBFixed\fR
+.ad
+.sp .6
+.RS 4n
+The Size and Length are Known, such as a string constant:
+.sp
+.in +2
+.nf
+char array[] = "A constant Size/Length";
+.fi
+.in -2
+
+.RE
+
+.sp
+.LP
+The following DCE RPC terminology is used in the subsequent discussion.
+.sp
+.ne 2
+.na
+\fBConformant\fR
+.ad
+.sp .6
+.RS 4n
+The Size is Determined. The Length is the same as Size.
+.sp
+
+.RE
+.sp
+.ne 2
+
+.na
+\fBVarying\fR
+.ad
+.sp .6
+.RS 4n
+The Size is Known. The Length is Determined, such as a \fBstrcpy()\fR of a variable length string into a fixed length buffer:
+.sp
+.in +2
+.nf
+char array[100];
+strcpy(array, "very short string");
+.fi
+.in -2
+
+.RE
+
+.sp
+.ne 2
+.na
+\fBVarying and Conformant\fR
+.ad
+.sp .6
+.RS 4n
+The Size is Determined. The Length is separately Determined, such as:
+.sp
+.in +2
+.nf
+char *array = malloc(size);
+strcpy(array, "short string");
+.fi
+.in -2
+
+.RE
+
+.SS "Strings"
+.LP
+DCE RPC strings are represented as varying or varying and conformant one-dimensional arrays. Characters can be single-byte or multi-byte as long as all characters conform to a fixed element size. For instance, UCS-2 is valid, but UTF-8 is not a valid DCE RPC string format. The string is terminated by a null character of the appropriate element size.
+.sp
+.LP
+MSRPC strings are always varying and conformant format and not null terminated. This format uses the \fIsize_is\fR, \fIfirst_is\fR, and \fIlength_is\fR attributes:
+.sp
+.in +2
+.nf
+typedef struct string {
+   DWORD size_is;
+   DWORD first_is;
+   DWORD length_is;
+   wchar_t string[ANY_SIZE_ARRAY];
+} string_t;
+.fi
+.in -2
+
+.sp
+.LP
+The \fIsize_is\fR attribute is used to specify the number of data elements in each dimension of an array.
+.sp
+.LP
+The \fIfirst_is\fR attribute is used to define the lower bound for significant elements in each dimension of an array. For strings, this value is always zero.
+.sp
+.LP
+The \fIlength_is\fR attribute is used to define the number of significant elements in each dimension of an array.  For strings, this value is typically the same as \fIsize_is\fR, although it might be (\fIsize_is\fR - 1) if the string is null terminated.
+.sp
+.LP
+MSRPC Unicode strings are not null terminated, which means that the recipient must manually null-terminate the string after it has been received. Note that there is often a wide-char pad following a string, which might contain zero but this situation is not guaranteed.
+.sp
+.in +2
+.nf
+ 4 bytes   4 bytes   4 bytes   2bytes 2bytes 2bytes 2bytes
++---------+---------+---------+------+------+------+------+
+|size_is  |first_is |length_is| char | char | char | char |
++---------+---------+---------+------+------+------+------+
+.fi
+.in -2
+
+.sp
+.LP
+Despite the general rule, some MSRPC services use null-terminated Unicode strings. To compensate, MSRPC uses the following additional string wrapper with two additional fields. Note that LPTSTR is automatically converted to \fBstring_t\fR by the NDR library.
+.sp
+.in +2
+.nf
+typedef struct msrpc_string {
+   WORD length;
+   WORD maxlen;
+   LPTSTR str;
+} msrpc_string_t;
+.fi
+.in -2
+
+.sp
+.LP
+Here, \fIlength\fR is the array length in bytes excluding any terminating null bytes and \fImaxlen\fR is the array length in bytes including the terminating null bytes.
+.SS "NDL Syntax"
+.LP
+The \fBndrgen\fR input must be a valid C header file. Thus, NDL is defined by using macros to map to DCE RPC IDL. The following shows the mappings:
+.sp
+.in +2
+.nf
+NDRGEN NDL	DCE RPC IDL
+================================
+OPERATION(X)    [operation(X)]
+IN              [in]
+OUT             [out]
+INOUT           [in out]
+STRING          [string]
+SIZE_IS(X)      [size_is(X)]
+SWITCH(X)       [switch_is(X)]
+CASE(X)         [case(X)]
+DEFAULT         [default]
+INTERFACE(X)    [interface(X)]
+UUID(X)         [uuid(X)]
+ARG_IS(X)       [arg_is(X)]
+REFERENCE       [reference]
+ANY_SIZE_ARRAY  *
+IMPORT_EXTERN   [extern]
+.fi
+.in -2
+
+.sp
+.LP
+The following shows the C data type associated with the NDRGEN NDL:
+.sp
+.in +2
+.nf
+NDRGEN NDL	C Data Type
+==============================
+BYTE            unsigned char
+WORD            unsigned short
+DWORD           unsigned long
+LPTSTR          wchar_t *
+LPBYTE          unsigned char *
+LPWORD          unsigned short *
+LPDWORD         unsigned long *
+.fi
+.in -2
+
+.SH OPTIONS
+.LP
+The \fBsmbutil\fR command supports the following global option:
+.sp
+.ne 2
+.na
+\fB\fB-Y\fR\fR
+.ad
+.RS 13n
+Specifies the path to the \fBcpp\fR program.
+.RE
+
+.SH EXAMPLES
+.LP
+The following is an example NDL header file:
+.sp
+.in +2
+.nf
+#ifndef _SVC_NDL_
+#define	_SVC_NDL_
+
+#include "ndrtypes.ndl"
+
+/*
+* Opnums: note that ndrgen does not automatically number
+* operations and the values do not have to be sequential.
+*/
+#define	SVC_CLOSE 0x00
+#define	SVC_OPEN 0x01
+#define	SVC_READ 0x02
+#define	SVC_WRITE 0x03
+
+/*
+* Define a file handle - choice of UUID format is
+* arbitrary.  Note that typedef's cannot be declared
+* with the struct definition.
+*/
+struct svc_uuid {
+   DWORD data1;
+   DWORD data2;
+   WORD  data3[2];
+   BYTE  data4[8];
+};
+typedef struct svc_uuid svc_handle_t;
+
+struct xferbuf {
+   DWORD nbytes;
+   DWORD offset;
+   SIZE_IS(nbytes) BYTE *data;
+};
+typedef struct xferbuf xferbuf_t;
+
+/*
+* Define the RPC operations.
+*/
+OPERATION(SVC_CLOSE)
+struct svc_close {
+   IN	svc_handle_t handle;
+   OUT	DWORD status;
+};
+
+OPERATION(SVC_OPEN)
+struct svc_open {
+   IN	LPTSTR servername;
+   IN	LPTSTR path;
+   OUT	svc_handle_t handle;
+   OUT	DWORD status;
+};
+
+OPERATION(SVC_READ)
+struct svc_read {
+   IN	svc_handle_t handle;
+   IN	DWORD nbytes;
+   IN	DWORD offset;
+   OUT	xferbuf_t buf;
+   OUT	DWORD status;
+};
+
+OPERATION(SVC_WRITE)
+struct svc_write {
+   IN	svc_handle_t handle;
+   IN	xferbuf_t buf;
+   OUT	DWORD nbytes;
+   OUT	DWORD status;
+};
+
+/*
+* Define the interface.
+*/
+INTERFACE(0)
+union svc_interface {
+CASE(SVC_CLOSE)
+   struct svc_close net_close;
+CASE(SVC_OPEN)
+   struct svc_open net_open;
+CASE(SVC_READ)
+   struct svc_read net_read;
+CASE(SVC_WRITE)
+   struct svc_write net_write;
+};
+typedef union svc_interface svc_interface_t;
+EXTERNTYPEINFO(svc_interface)
+
+#endif /* _SVC_NDL_ */
+.fi
+.in -2
+
+.SH EXIT STATUS
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.na
+\fB0\fR
+.ad
+.RS 13n
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.na
+\fB>0\fR
+.ad
+.RS 13n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+See the \fBattributes\fR(5) man page for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+cw | cw
+lw | lw .
+ATTRIBUTE TYPE	ATTRIBUTE VALUE
+_
+Availability	SUNWbtool
+.TE
+
+.SH SEE ALSO
+.LP
+\fBcpp\fR(1), \fBrpcgen\fR(1), \fBcc\fR(1B), \fBattributes\fR(5)
+.SH BUGS
+.LP
+Some \fBcpp\fR(1) macros used by \fBndrgen\fR are not understood by \fB/usr/bin/cpp\fR or \fB/usr/sfw/bin/cpp\fR. Simple NDL files generally do not pose a problem. If problems occur, for example, when using unions, use \fB/usr/libexec/cpp\fR or \fBcw\fR.
--- a/usr/src/tools/ndrgen/ndrgen.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,488 +0,0 @@
-.\"
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.\" Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
-.\" Use is subject to license terms.
-.\"
-'\" te
-.TH NDRGEN 1ONBLD "Oct 22, 2007"
-.SH NAME
-ndrgen \- NDL RPC protocol compiler
-.SH SYNOPSIS
-.LP
-.nf
-\fBndrgen\fR [ -Y \fIcpp-path\fR ] \fIfile\fR [ \fIfile\fR ] \&.\|.\|.
-.fi
-
-.SH DESCRIPTION
-.LP
-The \fBndrgen\fR utility is a tool that generates C code to implement a DCERPC/MSRPC Network Data Representation (NDR) protocol. The input to \fBndrgen\fR is a language similar to C known as Network Data Language (NDL).
-.sp
-.LP
-The \fBndrgen\fR utility takes an input protocol definition file and generates an output C source file that contains the marshalling routines to implement the RPC protocol. If the input file is named \fBproto.ndl\fR, \fBndrgen\fR generates NDR routines in \fBproto_ndr.c\fR. Applications must define the service definition and server-side stub table for use with the RPC protocol.
-.sp
-.LP
-The following is an example stub table and service definition:
-.sp
-.in +2
-.nf
-static stub_table_t net_svc_stub_table[] = {
-   { svc_close, SVC_CLOSE },
-   { svc_open,  SVC_OPEN },
-   { svc_read,  SVC_READ },
-   { svc_write, SVC_WRITE },
-   {0}
-};
-
-static service_t net_svc = {
-   "NETSVC",                    /* name */
-   "Network Service",           /* description */
-   "\e\enetsvc",                  /* endpoint */
-   "\e\epipe\e\enetsvc",            /* secondary address port */
-   "12345678-1234-abcd-ef0001234567abcd", 1,    /* abstract syntax */
-   "8a885d04-1ceb-11c9-9fe808002b104860", 2,    /* transfer syntax */
-   0,                           /* bind_instance_size */
-   0,                           /* bind_req() */
-   0,                           /* unbind_and_close() */
-   0,                           /* call_stub() */
-   &TYPEINFO(svc_interface),    /* interface ti */
-   net_svc_stub_table           /* stub_table */
-};
-.fi
-.in -2
-
-.sp
-.LP
-The C preprocessor, which can be specified in the \fBCC\fR environment variable or on the command line, is run on the input file before it is interpreted by \fBndrgen\fR. The \fBNDRGEN\fR preprocessor symbol is defined by \fBndrgen\fR for use by the \fBndrgen\fR programmer.
-.sp
-.LP
-The NDR generated by \fBndrgen\fR is an MSRPC compatible implementation of OSF DCE NDR. This implementation is based on the X/Open DCE: Remote Procedure Call specification (CAE Specification (1997), DCE 1.1: Remote Procedure Call Document Number: C706), enhanced for compatibility with MSRPC Unicode (UCS-2) strings.
-.sp
-.LP
-The following table shows the DCE RPC layering compared against ONC RPC.
-.sp
-.in +2
-.nf
- DCE RPC Layers          ONC RPC Layers	             Remark
-+---------------+       +---------------+     +----------------+
-+---------------+       +---------------+
-| Application   |       | Application 	|       The application
-+---------------+       +---------------+
-| Hand coded    |       | RPCGEN gen'd  |
-| client/server |       | client/server |       Generated stubs
-| proto.ndl     |       | *_svc.c *_clnt|
-| proto.c       |       |               |
-+---------------+       +---------------+
-|               |       |               |       Binding/PMAP
-| RPC Library   |       | RPC Library   |       Calls/Return
-+---------------+       +---------------+
-| RPC Protocol  |       | RPC Protocol  |       Headers
-| rpcpdu.ndl    |       |               |       Authentication
-+---------------+       +---------------+
-| NDRGEN gen'd  |       | RPCGEN gen'd  |       Aggregation
-| NDR stubs     |       | XDR stubs     |       Composition
-| *__ndr.c      |       | *_xdr.c       |
-+---------------+       +---------------+
-| NDR           |       | XDR           |       Byte order, padding
-+---------------+       +---------------+
-|               |       | Network Conn  |       Large difference:
-| Heap          |       | clnt_tcp      |       see below.
-| Management    |       | clnt_udp      |
-+---------------+       +---------------+
-.fi
-.in -2
-
-.sp
-.LP
-There are two major differences between the DCE RPC and ONC RPC:
-.RS +4
-.TP
-1.
-DCE RPC only generates or processes packets from buffers. Other layers must take care of packet transmission and reception. The packet heaps are managed through a simple interface provided by NDR streams.
-.sp
-ONC RPC communicates directly with the network. The programmer must do specific setup for the RPC packet to be placed in a buffer rather than sent to the wire.
-.RE
-.RS +4
-.TP
-2.
-DCE RPC uses application provided heaps to support operations. A heap is a managed chunk of memory that NDR manages as it allocates. When the operation and its result are complete, the heap is disposed of as a single item. Transactions, which are the anchor of most operations, perform heap bookkeeping.
-.sp
-ONC RPC uses \fBmalloc()\fR liberally throughout its run-time system. To free results, ONC RPC supports an \fBXDR_FREE\fR operation that traverses data structures freeing memory as it goes.
-.RE
-.sp
-.LP
-The following terminology is used in the subsequent discussion of NDR.
-.sp
-.ne 2
-.na
-\fBSize\fR
-.ad
-.sp .6
-.RS 4n
-The size of an array in elements, such as the amount to \fBmalloc()\fR.
-.RE
-
-.sp
-.ne 2
-.na
-\fBLength\fR
-.ad
-.sp .6
-.RS 4n
-The number of significant elements of an array.
-.RE
-
-.sp
-.ne 2
-.na
-\fBKnown\fR
-.ad
-.sp .6
-.RS 4n
-Size or Length is known at build time.
-.RE
-
-.sp
-.ne 2
-.na
-\fBDetermined\fR
-.ad
-.sp .6
-.RS 4n
-Size or Length is determined at run time.
-.RE
-
-.sp
-.ne 2
-.na
-\fBFixed\fR
-.ad
-.sp .6
-.RS 4n
-The Size and Length are Known, such as a string constant:
-.sp
-.in +2
-.nf
-char array[] = "A constant Size/Length";
-.fi
-.in -2
-
-.RE
-
-.sp
-.LP
-The following DCE RPC terminology is used in the subsequent discussion.
-.sp
-.ne 2
-.na
-\fBConformant\fR
-.ad
-.sp .6
-.RS 4n
-The Size is Determined. The Length is the same as Size.
-.sp
-
-.RE
-.sp
-.ne 2
-
-.na
-\fBVarying\fR
-.ad
-.sp .6
-.RS 4n
-The Size is Known. The Length is Determined, such as a \fBstrcpy()\fR of a variable length string into a fixed length buffer:
-.sp
-.in +2
-.nf
-char array[100];
-strcpy(array, "very short string");
-.fi
-.in -2
-
-.RE
-
-.sp
-.ne 2
-.na
-\fBVarying and Conformant\fR
-.ad
-.sp .6
-.RS 4n
-The Size is Determined. The Length is separately Determined, such as:
-.sp
-.in +2
-.nf
-char *array = malloc(size);
-strcpy(array, "short string");
-.fi
-.in -2
-
-.RE
-
-.SS "Strings"
-.LP
-DCE RPC strings are represented as varying or varying and conformant one-dimensional arrays. Characters can be single-byte or multi-byte as long as all characters conform to a fixed element size. For instance, UCS-2 is valid, but UTF-8 is not a valid DCE RPC string format. The string is terminated by a null character of the appropriate element size.
-.sp
-.LP
-MSRPC strings are always varying and conformant format and not null terminated. This format uses the \fIsize_is\fR, \fIfirst_is\fR, and \fIlength_is\fR attributes:
-.sp
-.in +2
-.nf
-typedef struct string {
-   DWORD size_is;
-   DWORD first_is;
-   DWORD length_is;
-   wchar_t string[ANY_SIZE_ARRAY];
-} string_t;
-.fi
-.in -2
-
-.sp
-.LP
-The \fIsize_is\fR attribute is used to specify the number of data elements in each dimension of an array.
-.sp
-.LP
-The \fIfirst_is\fR attribute is used to define the lower bound for significant elements in each dimension of an array. For strings, this value is always zero.
-.sp
-.LP
-The \fIlength_is\fR attribute is used to define the number of significant elements in each dimension of an array.  For strings, this value is typically the same as \fIsize_is\fR, although it might be (\fIsize_is\fR - 1) if the string is null terminated.
-.sp
-.LP
-MSRPC Unicode strings are not null terminated, which means that the recipient must manually null-terminate the string after it has been received. Note that there is often a wide-char pad following a string, which might contain zero but this situation is not guaranteed.
-.sp
-.in +2
-.nf
- 4 bytes   4 bytes   4 bytes   2bytes 2bytes 2bytes 2bytes
-+---------+---------+---------+------+------+------+------+
-|size_is  |first_is |length_is| char | char | char | char |
-+---------+---------+---------+------+------+------+------+
-.fi
-.in -2
-
-.sp
-.LP
-Despite the general rule, some MSRPC services use null-terminated Unicode strings. To compensate, MSRPC uses the following additional string wrapper with two additional fields. Note that LPTSTR is automatically converted to \fBstring_t\fR by the NDR library.
-.sp
-.in +2
-.nf
-typedef struct msrpc_string {
-   WORD length;
-   WORD maxlen;
-   LPTSTR str;
-} msrpc_string_t;
-.fi
-.in -2
-
-.sp
-.LP
-Here, \fIlength\fR is the array length in bytes excluding any terminating null bytes and \fImaxlen\fR is the array length in bytes including the terminating null bytes.
-.SS "NDL Syntax"
-.LP
-The \fBndrgen\fR input must be a valid C header file. Thus, NDL is defined by using macros to map to DCE RPC IDL. The following shows the mappings:
-.sp
-.in +2
-.nf
-NDRGEN NDL	DCE RPC IDL
-================================
-OPERATION(X)    [operation(X)]
-IN              [in]
-OUT             [out]
-INOUT           [in out]
-STRING          [string]
-SIZE_IS(X)      [size_is(X)]
-SWITCH(X)       [switch_is(X)]
-CASE(X)         [case(X)]
-DEFAULT         [default]
-INTERFACE(X)    [interface(X)]
-UUID(X)         [uuid(X)]
-ARG_IS(X)       [arg_is(X)]
-REFERENCE       [reference]
-ANY_SIZE_ARRAY  *
-IMPORT_EXTERN   [extern]
-.fi
-.in -2
-
-.sp
-.LP
-The following shows the C data type associated with the NDRGEN NDL:
-.sp
-.in +2
-.nf
-NDRGEN NDL	C Data Type
-==============================
-BYTE            unsigned char
-WORD            unsigned short
-DWORD           unsigned long
-LPTSTR          wchar_t *
-LPBYTE          unsigned char *
-LPWORD          unsigned short *
-LPDWORD         unsigned long *
-.fi
-.in -2
-
-.SH OPTIONS
-.LP
-The \fBsmbutil\fR command supports the following global option:
-.sp
-.ne 2
-.na
-\fB\fB-Y\fR\fR
-.ad
-.RS 13n
-Specifies the path to the \fBcpp\fR program.
-.RE
-
-.SH EXAMPLES
-.LP
-The following is an example NDL header file:
-.sp
-.in +2
-.nf
-#ifndef _SVC_NDL_
-#define	_SVC_NDL_
-
-#include "ndrtypes.ndl"
-
-/*
-* Opnums: note that ndrgen does not automatically number
-* operations and the values do not have to be sequential.
-*/
-#define	SVC_CLOSE 0x00
-#define	SVC_OPEN 0x01
-#define	SVC_READ 0x02
-#define	SVC_WRITE 0x03
-
-/*
-* Define a file handle - choice of UUID format is
-* arbitrary.  Note that typedef's cannot be declared
-* with the struct definition.
-*/
-struct svc_uuid {
-   DWORD data1;
-   DWORD data2;
-   WORD  data3[2];
-   BYTE  data4[8];
-};
-typedef struct svc_uuid svc_handle_t;
-
-struct xferbuf {
-   DWORD nbytes;
-   DWORD offset;
-   SIZE_IS(nbytes) BYTE *data;
-};
-typedef struct xferbuf xferbuf_t;
-
-/*
-* Define the RPC operations.
-*/
-OPERATION(SVC_CLOSE)
-struct svc_close {
-   IN	svc_handle_t handle;
-   OUT	DWORD status;
-};
-
-OPERATION(SVC_OPEN)
-struct svc_open {
-   IN	LPTSTR servername;
-   IN	LPTSTR path;
-   OUT	svc_handle_t handle;
-   OUT	DWORD status;
-};
-
-OPERATION(SVC_READ)
-struct svc_read {
-   IN	svc_handle_t handle;
-   IN	DWORD nbytes;
-   IN	DWORD offset;
-   OUT	xferbuf_t buf;
-   OUT	DWORD status;
-};
-
-OPERATION(SVC_WRITE)
-struct svc_write {
-   IN	svc_handle_t handle;
-   IN	xferbuf_t buf;
-   OUT	DWORD nbytes;
-   OUT	DWORD status;
-};
-
-/*
-* Define the interface.
-*/
-INTERFACE(0)
-union svc_interface {
-CASE(SVC_CLOSE)
-   struct svc_close net_close;
-CASE(SVC_OPEN)
-   struct svc_open net_open;
-CASE(SVC_READ)
-   struct svc_read net_read;
-CASE(SVC_WRITE)
-   struct svc_write net_write;
-};
-typedef union svc_interface svc_interface_t;
-EXTERNTYPEINFO(svc_interface)
-
-#endif /* _SVC_NDL_ */
-.fi
-.in -2
-
-.SH EXIT STATUS
-.LP
-The following exit values are returned:
-.sp
-.ne 2
-.na
-\fB0\fR
-.ad
-.RS 13n
-Successful operation.
-.RE
-
-.sp
-.ne 2
-.na
-\fB>0\fR
-.ad
-.RS 13n
-An error occurred.
-.RE
-
-.SH ATTRIBUTES
-See the \fBattributes\fR(5) man page for descriptions of the following attributes:
-.sp
-
-.sp
-.TS
-box;
-cw | cw
-lw | lw .
-ATTRIBUTE TYPE	ATTRIBUTE VALUE
-_
-Availability	SUNWbtool
-.TE
-
-.SH SEE ALSO
-.LP
-\fBcpp\fR(1), \fBrpcgen\fR(1), \fBcc\fR(1B), \fBattributes\fR(5)
-.SH BUGS
-.LP
-Some \fBcpp\fR(1) macros used by \fBndrgen\fR are not understood by \fB/usr/bin/cpp\fR or \fB/usr/sfw/bin/cpp\fR. Simple NDL files generally do not pose a problem. If problems occur, for example, when using unions, use \fB/usr/libexec/cpp\fR or \fBcw\fR.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/Install.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,371 @@
+.\"
+.\" Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.TH INSTALL 1ONBLD "Jan 14, 2010"
+.SH NAME
+Install \- install a kernel from an ON workspace
+.SH SYNOPSIS
+.TP 8n
+.B Install
+.RB [ " \-w "
+.IR workspace " ]"
+.RB [ " \-s "
+.IR "source dir" " ]"
+.br
+.RB [ " \-k  "
+.IR "kernel arch" " ]"
+.RB "[ " \-n " | " \-t|T
+.IR target " ]"
+.br
+.RB [ " \-u|m|a " ]
+.RB [ " \-v|V|q " ]
+.RB [ " \-c|p " ]
+.br
+.RB [ " \-l "
+.IR "library file" " ]"
+.RB [ " \-L " ]
+.RB [ " \-3 " ]
+.RB [ " \-6 " ]
+.RB [ " \-K " ]
+.br
+.RB [ " \-o "
+{
+.BR obj " | "
+.B debug
+}
+]
+.RB [ " \-d "
+.IR "work dir" " ]"
+.br
+.RB [ " \-D "
+.IR "library dir" " ]"
+.RB [ " \-G "
+.IB glomname " ]"
+.RI [ " module ... " ]
+.LP
+or
+.LP
+.BR "Install \-R " "[ options ]"
+.SH DESCRIPTION
+.LP
+.B Install
+is a utility which simplifies the process of installing a 5.0 system.
+.B Install
+goes into a built ON workspace (or any kernel source tree),
+looks at the Makefiles,
+and figures out how to construct the /kernel and /usr/kernel directories.
+It then creates a tarfile
+.RB "(see " tar "(1))"
+containing /kernel, /usr/kernel, and a few related /etc files.  If a
+.I target ([user@]machine:/dir)
+is specified, the tarfile is either copied to
+.IR machine:/dir " (-T) or untarred on " "machine" " in " "/dir" " (-t),"
+using the remote user id
+.IR user ,
+if specified.
+With no options,
+.B Install
+creates a sun4c system from files in the current workspace (as indicated
+by $SRC) and places the tarfile in /tmp/Install.username/Install.sun4c.tar.
+
+.SH OPTIONS
+.TP 20n
+.BI "-w" " ws"
+Install the system built in the ON workspace
+.I ws.  ws
+must be a built ON workspace \(em
+.B Install
+will not automatically invoke
+.BR make (1) .
+If \-w is not specified,
+.B Install
+uses the current
+workspace (as indicated by $SRCTOP).  If there is no current workspace,
+.B Install
+checks to see if you are in an appropriate source directory, e.g. uts/sun4c;
+if so,
+.B Install
+takes files from there.  Otherwise,
+.B Install
+looks for files under $SRC/uts.
+.TP
+.BI "-s" " source directory"
+where to look for files [default: $SRC/uts].
+.TP
+.BI "-k" " kernel arch"
+the type of kernel to install.  The default is sun4c; however, if you invoke
+.B Install
+from $SRC/uts/sun4z,
+.B Install
+assumes you want a sun4z kernel.
+.TP
+.B "-n"
+No target; just create the tarfile in
+/tmp/Install.username/Install.sun4c.tar [default].
+.BR "-n" " implies " "-p" .
+.TP
+.BI "-t" " target"
+Install the system on
+.I target ([user@]machine:/dir).
+This means that kernel/unix is copied to
+.I machine:/dir/kernel/unix,
+etc.
+.IR /dir " is typically either " / " or " /mnt.
+.BR "-t" " implies " "-c" .
+The default remote user id is the same as the local one ($LOGNAME).
+.TP
+.BI "-T" " target"
+Copy the tarfile to
+.I target ([user@]machine:/dir).
+This creates the file
+.I /dir/Install.tar
+on
+.I machine.
+To finish the install, log on to
+.I machine
+as root, and type
+.RB `` "cd /; tar xvf /dir/Install.tar" "''."
+.BR "-T" " implies " "-c" .
+.TP
+.B "-u"
+Install unix only.
+.TP
+.B "-m"
+Install modules only.
+.TP
+.B "-a"
+Install unix and all modules [default].
+.TP
+.B "-v"
+Verbose mode.
+.TP
+.B "-V"
+REALLY verbose mode.  Useful mainly for debugging.
+.TP
+.B "-q"
+Quiet mode [default].  Only fatal messages are printed.
+.TP
+.B "-c"
+Clean up.  After a successful install, delete the files created in
+/tmp/Install.username.  This is the default behavior if a
+.I target
+is specified with
+.BR "-t" " or " "-T" .
+.TP
+.B "-p"
+Preserve temp files.  This is the default behavior when no
+.I target
+is specified
+.RB ( "-n" ).
+.TP
+.B "-R"
+Recover from a failed
+.BR Install .
+This is not required, it's just faster than restarting.
+A typical scenario is for
+.B Install
+to run smoothly right up to the very end, but then die with
+"Permission denied" when it tries to rsh/rcp to the target machine.
+At this point, you log on to the target machine, diddle the permissions,
+log off, and type
+.RB `` "Install -R" "''."
+.B Install
+will only have to retry the rsh/rcp,
+rather than rebuild the tarfile from scratch.
+.TP
+.BI "-d" " temp directory"
+specifies where
+.B Install
+should create its temp files [default: /tmp/Install.username].  This is
+useful if you have limited space in /tmp (\fBInstall\fR can take as
+much as 100MB).
+The suffix "Install.username" is always appended.
+.TP
+.B "-L"
+add a system to your library.  This allows you to build a personal
+collection of installable systems from various environments and for
+various architectures.  When you type
+.RB `` "Install -w /ws/ws_name -k arch -L" "'', " Install
+creates a tarfile called
+.I ws_name.arch.tar
+in your library directory (~/LibInstall by default).
+.BR "-L" " implies " "-c" .
+.TP
+.BI "-l" " library file"
+Installs the system contained in
+.I library file.
+You may omit the ``.tar'' suffix.  For example,
+.RB `` "Install -l my_ws.sun4c -t machine:/" ''
+installs a system you previously built with
+.B "-L"
+(from sun4c files in my_ws) on
+.IR machine:/ .
+This is equivalent to typing
+.RB `` "rsh machine '(cd /; tar xvf -)' <~/LibInstall/my_ws.sun4c.tar" '',
+but it's easier to remember.
+.TP
+.BI "-D" " lib directory"
+specifies the library directory [default: $HOME/LibInstall].
+.TP
+.BI "-G " glomname
+gloms /kernel and /usr/kernel together into a single /kernel directory.
+Useful for development work, e.g. use "Install -G good [...]" to create a
+"/kernel.good".
+.TP
+.BR "-o " "{ \fBobj\fP | \fBdebug\fP }"
+object directory. The default is "debug".
+.TP
+.B \-3
+32-bit modules only
+.TP
+.B \-6
+64-bit modules only
+.TP
+.B \-K
+Do not include kmdb misc module or dmods
+.TP
+.B "-h"
+Help.  Prints a brief summary of
+.BR Install "'s"
+options.
+.LP
+If you are in a directory like $SRC/uts/sun4z when you invoke
+.BR Install ,
+it will infer that you want to install a sun4z system
+from the current workspace.
+.LP
+If you supply a list of modules, it overrides any of the
+.B "-uma"
+options.  You only need to specify the basename of the
+module(s), e.g. ``\fBInstall ufs nfs le\fR''.
+``\fBInstall unix\fR'' is equivalent to ``\fBInstall -u\fR'', and
+``\fBInstall modules\fR'' is equivalent to ``\fBInstall -m\fR''.
+.LP
+You can customize
+.B Install
+by creating a .Installrc file in your home directory.  .Installrc
+should consist of a list of command-line-style options, e.g:
+.LP
+.nf
+.B
+	-w /ws/foo
+.fi
+.br
+.nf
+.B
+	-t labmachine:/mnt -pv
+.fi
+.LP
+.B Install
+processes default options first, then .Installrc
+options, then command-line options.  In the case of
+conflicting options (e.g. \fB-uma\fR), the last one wins.
+.LP
+In order to use the most convenient form of
+.BR Install " (``" "Install -t machine:/" "''),"
+you will need to do the following on the target machine:
+.LP
+.br
+.nf
+	(1) add your machine name to the /etc/hosts.equiv file
+.fi
+.br
+.nf
+	(2) add your username to the /etc/{passwd,shadow} files
+.fi
+.br
+.nf
+	(3) chown -R yourself /kernel /usr/kernel
+.fi
+.br
+.nf
+	(4) chmod -R u+w /kernel /usr/kernel
+.fi
+.SH "ENVIRONMENT"
+.LP
+You can set the following variables in your environment:
+.LP
+INSTALL_RC [default: $HOME/.Installrc]
+.IP
+file containing default options for \fBInstall\fR
+.LP
+INSTALL_STATE [default: $HOME/.Install.state]
+.IP
+where \fBInstall\fR keeps its state information
+.LP
+INSTALL_DIR [default: /tmp/Install.username]
+.IP
+where \fBInstall\fR does its work.  This can be overridden on
+the command line with \fB\-d\fR.
+.LP
+INSTALL_LIB [default: $HOME/LibInstall]
+.IP
+where \fBInstall\fR gets/puts library files.  This can be overridden on
+the command line with \fB\-D\fR.
+.LP
+INSTALL_CP [default: cp -p]
+.IP
+the command to copy files locally
+.LP
+INSTALL_RCP [default: rcp -p]
+.IP
+the command to copy files remotely
+.SH "EXAMPLES"
+.LP
+.B
+Install -w /ws/blort -t machine:/
+.IP
+.RI "installs the system built in workspace " /ws/blort " on " machine:/
+.LP
+.B
+Install -w /ws/blort -T machine:/tmp
+.br
+.B
+rsh machine -l root "cd /; tar xvf /tmp/Install.tar"
+.IP
+is an equivalent way to do the previous example
+.LP
+.B Install
+.IP
+makes a tarfile containing a sun4c kernel,
+and places it in /tmp/Install.username/Install.sun4c.tar.  However, if you
+are in one of the arch directories (e.g. $SRC/uts/sun4m) when you invoke
+.BR Install ,
+you will get a tarfile for that architecture instead.
+.LP
+.B
+Install -k sun4m -w /ws/on493 -t mpbox:/ ufs
+.IP
+installs a new sun4m ufs module from workspace /ws/on493 on mpbox:/
+.SH "FILES"
+$HOME/.Installrc, $HOME/.Install.state
+.SH "SEE ALSO"
+.BR tar "(1), " rsh "(1), " rcp "(1)"
+.SH "BUGS"
+.BR tar "(1) and " rsh "(1)"
+do not have particularly useful exit codes.  To compensate,
+.B Install
+feeds stderr through grep -v and throws away error messages which it
+considers harmless.  If there's anything left,
+.B Install
+assumes it is fatal.  It's a hack, but it works.
--- a/usr/src/tools/scripts/Install.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,371 +0,0 @@
-.\"
-.\" Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
-.\" Use is subject to license terms.
-.\"
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.TH INSTALL 1ONBLD "Jan 14, 2010"
-.SH NAME
-Install \- install a kernel from an ON workspace
-.SH SYNOPSIS
-.TP 8n
-.B Install
-.RB [ " \-w "
-.IR workspace " ]"
-.RB [ " \-s "
-.IR "source dir" " ]"
-.br
-.RB [ " \-k  "
-.IR "kernel arch" " ]"
-.RB "[ " \-n " | " \-t|T
-.IR target " ]"
-.br
-.RB [ " \-u|m|a " ]
-.RB [ " \-v|V|q " ]
-.RB [ " \-c|p " ]
-.br
-.RB [ " \-l "
-.IR "library file" " ]"
-.RB [ " \-L " ]
-.RB [ " \-3 " ]
-.RB [ " \-6 " ]
-.RB [ " \-K " ]
-.br
-.RB [ " \-o "
-{
-.BR obj " | "
-.B debug
-}
-]
-.RB [ " \-d "
-.IR "work dir" " ]"
-.br
-.RB [ " \-D "
-.IR "library dir" " ]"
-.RB [ " \-G "
-.IB glomname " ]"
-.RI [ " module ... " ]
-.LP
-or
-.LP
-.BR "Install \-R " "[ options ]"
-.SH DESCRIPTION
-.LP
-.B Install
-is a utility which simplifies the process of installing a 5.0 system.
-.B Install
-goes into a built ON workspace (or any kernel source tree),
-looks at the Makefiles,
-and figures out how to construct the /kernel and /usr/kernel directories.
-It then creates a tarfile
-.RB "(see " tar "(1))"
-containing /kernel, /usr/kernel, and a few related /etc files.  If a
-.I target ([user@]machine:/dir)
-is specified, the tarfile is either copied to
-.IR machine:/dir " (-T) or untarred on " "machine" " in " "/dir" " (-t),"
-using the remote user id
-.IR user ,
-if specified.
-With no options,
-.B Install
-creates a sun4c system from files in the current workspace (as indicated
-by $SRC) and places the tarfile in /tmp/Install.username/Install.sun4c.tar.
-
-.SH OPTIONS
-.TP 20n
-.BI "-w" " ws"
-Install the system built in the ON workspace
-.I ws.  ws
-must be a built ON workspace \(em
-.B Install
-will not automatically invoke
-.BR make (1) .
-If \-w is not specified,
-.B Install
-uses the current
-workspace (as indicated by $SRCTOP).  If there is no current workspace,
-.B Install
-checks to see if you are in an appropriate source directory, e.g. uts/sun4c;
-if so,
-.B Install
-takes files from there.  Otherwise,
-.B Install
-looks for files under $SRC/uts.
-.TP
-.BI "-s" " source directory"
-where to look for files [default: $SRC/uts].
-.TP
-.BI "-k" " kernel arch"
-the type of kernel to install.  The default is sun4c; however, if you invoke
-.B Install
-from $SRC/uts/sun4z,
-.B Install
-assumes you want a sun4z kernel.
-.TP
-.B "-n"
-No target; just create the tarfile in
-/tmp/Install.username/Install.sun4c.tar [default].
-.BR "-n" " implies " "-p" .
-.TP
-.BI "-t" " target"
-Install the system on
-.I target ([user@]machine:/dir).
-This means that kernel/unix is copied to
-.I machine:/dir/kernel/unix,
-etc.
-.IR /dir " is typically either " / " or " /mnt.
-.BR "-t" " implies " "-c" .
-The default remote user id is the same as the local one ($LOGNAME).
-.TP
-.BI "-T" " target"
-Copy the tarfile to
-.I target ([user@]machine:/dir).
-This creates the file
-.I /dir/Install.tar
-on
-.I machine.
-To finish the install, log on to
-.I machine
-as root, and type
-.RB `` "cd /; tar xvf /dir/Install.tar" "''."
-.BR "-T" " implies " "-c" .
-.TP
-.B "-u"
-Install unix only.
-.TP
-.B "-m"
-Install modules only.
-.TP
-.B "-a"
-Install unix and all modules [default].
-.TP
-.B "-v"
-Verbose mode.
-.TP
-.B "-V"
-REALLY verbose mode.  Useful mainly for debugging.
-.TP
-.B "-q"
-Quiet mode [default].  Only fatal messages are printed.
-.TP
-.B "-c"
-Clean up.  After a successful install, delete the files created in
-/tmp/Install.username.  This is the default behavior if a
-.I target
-is specified with
-.BR "-t" " or " "-T" .
-.TP
-.B "-p"
-Preserve temp files.  This is the default behavior when no
-.I target
-is specified
-.RB ( "-n" ).
-.TP
-.B "-R"
-Recover from a failed
-.BR Install .
-This is not required, it's just faster than restarting.
-A typical scenario is for
-.B Install
-to run smoothly right up to the very end, but then die with
-"Permission denied" when it tries to rsh/rcp to the target machine.
-At this point, you log on to the target machine, diddle the permissions,
-log off, and type
-.RB `` "Install -R" "''."
-.B Install
-will only have to retry the rsh/rcp,
-rather than rebuild the tarfile from scratch.
-.TP
-.BI "-d" " temp directory"
-specifies where
-.B Install
-should create its temp files [default: /tmp/Install.username].  This is
-useful if you have limited space in /tmp (\fBInstall\fR can take as
-much as 100MB).
-The suffix "Install.username" is always appended.
-.TP
-.B "-L"
-add a system to your library.  This allows you to build a personal
-collection of installable systems from various environments and for
-various architectures.  When you type
-.RB `` "Install -w /ws/ws_name -k arch -L" "'', " Install
-creates a tarfile called
-.I ws_name.arch.tar
-in your library directory (~/LibInstall by default).
-.BR "-L" " implies " "-c" .
-.TP
-.BI "-l" " library file"
-Installs the system contained in
-.I library file.
-You may omit the ``.tar'' suffix.  For example,
-.RB `` "Install -l my_ws.sun4c -t machine:/" ''
-installs a system you previously built with
-.B "-L"
-(from sun4c files in my_ws) on
-.IR machine:/ .
-This is equivalent to typing
-.RB `` "rsh machine '(cd /; tar xvf -)' <~/LibInstall/my_ws.sun4c.tar" '',
-but it's easier to remember.
-.TP
-.BI "-D" " lib directory"
-specifies the library directory [default: $HOME/LibInstall].
-.TP
-.BI "-G " glomname
-gloms /kernel and /usr/kernel together into a single /kernel directory.
-Useful for development work, e.g. use "Install -G good [...]" to create a
-"/kernel.good".
-.TP
-.BR "-o " "{ \fBobj\fP | \fBdebug\fP }"
-object directory. The default is "debug".
-.TP
-.B \-3
-32-bit modules only
-.TP
-.B \-6
-64-bit modules only
-.TP
-.B \-K
-Do not include kmdb misc module or dmods
-.TP
-.B "-h"
-Help.  Prints a brief summary of
-.BR Install "'s"
-options.
-.LP
-If you are in a directory like $SRC/uts/sun4z when you invoke
-.BR Install ,
-it will infer that you want to install a sun4z system
-from the current workspace.
-.LP
-If you supply a list of modules, it overrides any of the
-.B "-uma"
-options.  You only need to specify the basename of the
-module(s), e.g. ``\fBInstall ufs nfs le\fR''.
-``\fBInstall unix\fR'' is equivalent to ``\fBInstall -u\fR'', and
-``\fBInstall modules\fR'' is equivalent to ``\fBInstall -m\fR''.
-.LP
-You can customize
-.B Install
-by creating a .Installrc file in your home directory.  .Installrc
-should consist of a list of command-line-style options, e.g:
-.LP
-.nf
-.B
-	-w /ws/foo
-.fi
-.br
-.nf
-.B
-	-t labmachine:/mnt -pv
-.fi
-.LP
-.B Install
-processes default options first, then .Installrc
-options, then command-line options.  In the case of
-conflicting options (e.g. \fB-uma\fR), the last one wins.
-.LP
-In order to use the most convenient form of
-.BR Install " (``" "Install -t machine:/" "''),"
-you will need to do the following on the target machine:
-.LP
-.br
-.nf
-	(1) add your machine name to the /etc/hosts.equiv file
-.fi
-.br
-.nf
-	(2) add your username to the /etc/{passwd,shadow} files
-.fi
-.br
-.nf
-	(3) chown -R yourself /kernel /usr/kernel
-.fi
-.br
-.nf
-	(4) chmod -R u+w /kernel /usr/kernel
-.fi
-.SH "ENVIRONMENT"
-.LP
-You can set the following variables in your environment:
-.LP
-INSTALL_RC [default: $HOME/.Installrc]
-.IP
-file containing default options for \fBInstall\fR
-.LP
-INSTALL_STATE [default: $HOME/.Install.state]
-.IP
-where \fBInstall\fR keeps its state information
-.LP
-INSTALL_DIR [default: /tmp/Install.username]
-.IP
-where \fBInstall\fR does its work.  This can be overridden on
-the command line with \fB\-d\fR.
-.LP
-INSTALL_LIB [default: $HOME/LibInstall]
-.IP
-where \fBInstall\fR gets/puts library files.  This can be overridden on
-the command line with \fB\-D\fR.
-.LP
-INSTALL_CP [default: cp -p]
-.IP
-the command to copy files locally
-.LP
-INSTALL_RCP [default: rcp -p]
-.IP
-the command to copy files remotely
-.SH "EXAMPLES"
-.LP
-.B
-Install -w /ws/blort -t machine:/
-.IP
-.RI "installs the system built in workspace " /ws/blort " on " machine:/
-.LP
-.B
-Install -w /ws/blort -T machine:/tmp
-.br
-.B
-rsh machine -l root "cd /; tar xvf /tmp/Install.tar"
-.IP
-is an equivalent way to do the previous example
-.LP
-.B Install
-.IP
-makes a tarfile containing a sun4c kernel,
-and places it in /tmp/Install.username/Install.sun4c.tar.  However, if you
-are in one of the arch directories (e.g. $SRC/uts/sun4m) when you invoke
-.BR Install ,
-you will get a tarfile for that architecture instead.
-.LP
-.B
-Install -k sun4m -w /ws/on493 -t mpbox:/ ufs
-.IP
-installs a new sun4m ufs module from workspace /ws/on493 on mpbox:/
-.SH "FILES"
-$HOME/.Installrc, $HOME/.Install.state
-.SH "SEE ALSO"
-.BR tar "(1), " rsh "(1), " rcp "(1)"
-.SH "BUGS"
-.BR tar "(1) and " rsh "(1)"
-do not have particularly useful exit codes.  To compensate,
-.B Install
-feeds stderr through grep -v and throws away error messages which it
-considers harmless.  If there's anything left,
-.B Install
-assumes it is fatal.  It's a hack, but it works.
--- a/usr/src/tools/scripts/Makefile	Mon Jul 16 09:17:09 2018 -0400
+++ b/usr/src/tools/scripts/Makefile	Mon Jul 16 14:49:03 2018 -0400
@@ -59,21 +59,21 @@
 	git-nits
 
 MAN1ONBLDFILES= \
-	Install.1onbld \
-	cddlchk.1onbld \
-	checkpaths.1onbld \
-	check_rtime.1onbld \
-	cstyle.1onbld \
-	find_elf.1onbld \
-	git-pbchk.1onbld \
-	hdrchk.1onbld \
-	interface_check.1onbld \
-	interface_cmp.1onbld \
-	mapfilechk.1onbld \
-	wsdiff.1onbld
+	Install.1 \
+	cddlchk.1 \
+	checkpaths.1 \
+	check_rtime.1 \
+	cstyle.1 \
+	find_elf.1 \
+	git-pbchk.1 \
+	hdrchk.1 \
+	interface_check.1 \
+	interface_cmp.1 \
+	mapfilechk.1 \
+	wsdiff.1
 
 MAN1ONBLDLINKS= \
-	git-nits.1onbld
+	git-nits.1
 
 ETCFILES= \
 	hgstyle \
@@ -107,9 +107,9 @@
 	$(RM) $(ROOTONBLDBIN)/git-nits
 	$(SYMLINK) git-pbchk $(ROOTONBLDBIN)/git-nits
 
-$(ROOTONBLDMAN1ONBLD)/git-nits.1onbld:
-	$(RM) $(ROOTONBLDMAN1ONBLD)/git-nits.1onbld
-	$(SYMLINK) git-pbchk.1onbld $(ROOTONBLDMAN1ONBLD)/git-nits.1onbld
+$(ROOTONBLDMAN1ONBLD)/git-nits.1:
+	$(RM) $(ROOTONBLDMAN1ONBLD)/git-nits.1
+	$(SYMLINK) git-pbchk.1 $(ROOTONBLDMAN1ONBLD)/git-nits.1
 
 install: all .WAIT $(ROOTONBLDSHFILES) $(ROOTONBLDPERLFILES)		\
 		$(ROOTONBLDPERLMODULES) $(ROOTONBLDPYFILES)		\
@@ -120,7 +120,7 @@
 clean:
 	$(RM) $(CLEANFILES)
 
-bldenv.1onbld: bldenv
+bldenv.1: bldenv
 	$(RM) "$@"
 	(set +o errexit ; ksh93 $? --nroff ; true) 2>&1 | \
 	sed -e 's/\.DS/.nf/g;s/\.DE/.fi/' \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/cddlchk.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,77 @@
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.TH CDDLCHK 1ONBLD "Jun 1, 2008"
+.SH NAME
+cddlchk \- Check for valid CDDL header blocks
+.SH SYNOPSIS
+.nf
+\fBcddlchk \fR [\fB-av\fR] [\fB-x\fR \fIexceptions_file\fR] [\fIpath\fR...]
+.fi
+.SH DESCRIPTION
+cddlchk inspects files for missing, obsolete, or corrupt Common
+Development and Distribution License (CDDL) header blocks.
+.SH OPTIONS
+.TP 4
+.B \-a
+Check that all the specified files have a CDDL block, and report a
+warning if any do not.
+If this flag is not specified, only files containing an existing CDDL
+block are validated.
+.TP 4
+.B \-v
+Report on all files, not just those with invalid headers
+.TP 4
+.B \-x \fIexceptions_file\fR
+Load an exceptions file containing a list of files, directories and
+file extensions to be ignored.
+Exceptions may be one of three types:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+File paths
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Directories, specified with a trailing '/'
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+File extensions, specified with a leading '*.'
+.RE
+.SH EXIT STATUS
+.TP 4
+.B 0
+The command completed successfully.
+No errors or warnings were reported
+.TP 4
+.B 1
+The command completed unsuccessfully.
+One or more errors or warnings were reported.
+.TP 4
+.B 2
+Invalid command-line arguments were specified to the command.
--- a/usr/src/tools/scripts/cddlchk.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.\" Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
-.\" Use is subject to license terms.
-.\"
-.TH CDDLCHK 1ONBLD "Jun 1, 2008"
-.SH NAME
-cddlchk \- Check for valid CDDL header blocks
-.SH SYNOPSIS
-.nf
-\fBcddlchk \fR [\fB-av\fR] [\fB-x\fR \fIexceptions_file\fR] [\fIpath\fR...]
-.fi
-.SH DESCRIPTION
-cddlchk inspects files for missing, obsolete, or corrupt Common
-Development and Distribution License (CDDL) header blocks.
-.SH OPTIONS
-.TP 4
-.B \-a
-Check that all the specified files have a CDDL block, and report a
-warning if any do not.
-If this flag is not specified, only files containing an existing CDDL
-block are validated.
-.TP 4
-.B \-v
-Report on all files, not just those with invalid headers
-.TP 4
-.B \-x \fIexceptions_file\fR
-Load an exceptions file containing a list of files, directories and
-file extensions to be ignored.
-Exceptions may be one of three types:
-.RS +4
-.TP
-.ie t \(bu
-.el o
-File paths
-.RE
-.RS +4
-.TP
-.ie t \(bu
-.el o
-Directories, specified with a trailing '/'
-.RE
-.RS +4
-.TP
-.ie t \(bu
-.el o
-File extensions, specified with a leading '*.'
-.RE
-.SH EXIT STATUS
-.TP 4
-.B 0
-The command completed successfully.
-No errors or warnings were reported
-.TP 4
-.B 1
-The command completed unsuccessfully.
-One or more errors or warnings were reported.
-.TP 4
-.B 2
-Invalid command-line arguments were specified to the command.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/check_rtime.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,700 @@
+.\" Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.TH CHECK_RTIME 1ONBLD "Mar 09, 2010"
+.SH NAME
+.I check_rtime
+\- check ELF runtime attributes
+.SH SYNOPSIS
+\fBcheck_rtime [-iosv] [-D depfile | -d depdir] [-E errfile] [-e exfile] [-f listfile] [-I infofile] [-w outdir] file | dir, ...\fP
+.SH DESCRIPTION
+.LP
+.I check_rtime
+attempts to check a number of ELF runtime attributes
+for consistency with common build rules.
+These checks involve running \fBldd(1)\fP and
+\fBelfdump(1)\fP against a family of dynamic objects.
+A dynamic object can be defined explicitly as a \fIfile\fP
+or multiple dynamic objects can be located under the directory \fIdir\fP.
+.LP
+.I check_rtime
+is typically called from \fBnightly(1ONBLD)\fP when the \fB-r\fP
+option is in effect. In this case the dynamic objects under
+the associated \fIproto\fP area (\fB$ROOT\fP) are checked.
+.I check_rtime
+can also be run standalone against any set of dynamic objects.
+.LP
+.I check_rtime
+uses \fBldd(1)\fP to verify dependencies. This implies that
+by default any object inspected will bind to its dependencies
+as they are found in the \fBunderlying\fP system.  Use of the \fB-D\fP, \fB-d\fP
+option, or the existence of the environment variables
+\fB$SRCTOP/$ROOT\fP instruct
+.I check_rtime
+to establish an alternative dependency mapping using
+runtime configuration files generated with \fBcrle(1)\fP.
+.LP
+.I check_rtime
+uses \fBldd(1)\fP to completely relocate any dynamic
+object and thus detect missing dependencies, unsatisfied
+symbol relocations, unused and unreferenced dependencies. These checks
+are carried out for the following reasons:
+.TP 4
+\(bu
+An object that cannot find its dependencies may fail to load
+at runtime.  This error condition often goes unnoticed
+because the existing use of the object is as a dependency itself,
+and the objects' dependencies are already satisfied by the
+caller.  However, if the object itself is unable to satisfy its
+dependencies, its use in new environments may be compromised.
+.sp
+A missing or erroneous \fBrunpath\fP is the typical reason why
+an object can not locate its dependencies.  Use of the link-editors
+\fB-zdefs\fP option when building a shared object ensures required
+dependencies are established.  This flag is inherited from
+\fB$(DYNFLAGS)\fP in \fIlib/Makefile.lib\fP. Missing dependencies
+are displayed as:
+.sp
+.RS 6
+foo: bar.so.1 => (file not found)  <no -zdefs?>
+.RE
+.TP
+\(bu
+Unsatisfied symbol relocations indicate that some thread of
+execution through the object will fail when it is unable to
+locate a referenced symbol.
+.sp
+A missing, or mismatched version of a dependency is the typical
+reason for unsatisfied symbol relocations (see missing dependency
+discussion above). Unsatisfied symbol relocations are displayed as:
+.sp
+.RS 6
+foo: symbol not found: bar  <no -zdefs?>
+.RE
+.RS 4
+.sp
+Note: Shared objects can make reference to symbol definitions
+that are expected to be defined by the caller. To indicate that
+such symbols are not undefined in the usual sense, you must
+specify these symbols in a \fImapfile\fP, using the \fBEXTERN\fP
+or \fBPARENT\fP symbol attribute. Without these symbol attributes,
+\fBldd(1)\fP is unable to determine the symbols special nature, and
+.I check_rtime
+will report these symbols as undefined.
+.RE
+.TP
+\(bu
+Unused dependencies are wasteful at runtime, as they take time to
+load and relocate, but will not be used by the calling object.  They
+also result in unnecessary processing at link-edit time.
+.sp
+Dependency lists (typically defined via \fB$(LDLIBS)\fP)
+that have been yanked-and-put
+between \fIMakefiles\fP without verifying their need, are a typical
+reason why unused dependencies exist.  Unused dependencies are
+displayed as:
+.sp
+.RS 6
+foo: unused object=bar.so.1  <remove lib or -zignore?>
+.RE
+.TP
+\(bu
+Unreferenced dependencies are also wasteful at runtime, although not
+to the extent of unused dependencies.  They also result in unnecessary
+processing at link-edit time.
+.sp
+Unreferenced dependency removal guards against a dependency becoming
+unused when combined with
+different objects, or as the other object dependencies evolve.
+Unreferenced dependencies are displayed as:
+.sp
+.RS 6
+foo: unreferenced object=bar.so.1;  \\
+.br
+    unused dependency of libfoo.so.1  \\
+.br
+    <remove lib or -zignore?>
+.RE
+.RS 4
+.sp
+See also the section ENVIRONMENT VARIABLES.
+.RE
+.TP
+\(bu
+Unused search paths are wasteful at runtime.
+Unused search paths are displayed as:
+.sp
+.RS 6
+foo: unused search path=/usr/foo/lib  \\
+.br
+    (RUNPATH/RPATH from file libfoo.so.1)  \\
+.br
+    <remove search path?>
+.RE
+.LP
+.I check_rtime
+uses \fBelfdump(1)\fP to look for a concatenated relocation
+section in shared objects, the existence of text relocations,
+whether debugging or symbol table information exists, whether
+applications have a non-executable stack defined, duplicate
+entries in the symbol sorting sections, and for direct bindings.
+These checks are carried out for the following reasons:
+.TP 4
+\(bu
+A concatenated relocation section (\fI.SUNW_reloc\fP)
+provides optimal symbol table
+access at runtime, and thus reduces the overhead of relocating
+the shared object.  In past releases, the link-edit of a dynamic object with
+the \fB-z combreloc\fP option was required to generate a combined
+relocation section.  However, with the integration of 6642769, this section
+combination is a default behavior of the link-editor.
+.sp
+In past releases, not inheriting \fB$(DYNFLAGS)\fP from
+\fIlib/Makefile.lib\fP was the typical reason for not having a
+concatenated relocation section. The misguided use of the
+\fB-z nocombreloc\fP option will also prevent the creation of a
+concatenated relocation section. A missing concatenated relocation section
+is displayed as:
+.sp
+.RS 6
+foo: .SUNW_reloc section missing  <no -zcombreloc?>
+.RE
+.TP
+\(bu
+Text relocations result in impure text segments.  As text segments
+are typically read-only, they can be shared between numerous processes.
+If they must be updated as part of the relocation then the updated
+pages become unsharable and swap space must be allocated to back
+these pages.  These events consume unnecessary system resources and
+reduce overall system performance.
+.sp
+Not inheriting the \fB$(PICS)\fP
+rules from \fIlib/Makefile.lib\fP is the typical reason for having
+non-pic code in shared objects.  Text relocations are displayed as:
+.sp
+.RS 6
+foo: TEXTREL .dynamic tag  <no -Kpic?>
+.RE
+.TP
+\(bu
+Debugging information is unnecessary in released objects.  Although
+extensive when compiled \fB-g\fP, small quantities of debugging
+information are stored in \fI.stabs\fP sections under normal
+compilations.  This debugging information is geared towards aiding
+debuggers locate relocatable objects associated with the dynamic
+objects being debugged.  As relocatable objects aren't made available
+as part of a software release this information has no use.
+.sp
+Not inheriting the correct \fB$(LDFLAGS)\fP from \fIcmd/Makefile.cmd\fP
+(which asserts \fP-s\fP), or \fB$(POST_PROCESS_SO)\fP (which asserts
+\fIstrip -x\fP) are typical reasons for not removing debugging
+information.  Note, removal of debugging information is only enabled
+for release builds. The existence of debugging information is displayed as:
+.sp
+.RS 6
+foo: debugging sections should be deleted  \\
+.br
+    <no strip -x?>
+.RE
+.TP
+\(bu
+All objects should retain their full \fI.symtab\fP symbol table.
+Although this consumes disk space, it provides for more extensive stack
+tracing when debugging user applications.
+.sp
+Hard coding a \fI-s\fP flag with \fB$(LDFLAGS)\fP or
+\fB$(DYNFLAGS)\fP is the typical
+reason for symbol tables being removed.
+Objects that do not contain a symbol table are displayed as:
+.sp
+.RS 6
+foo.so.1: symbol table should not be stripped  \\
+.br
+    <remove -s?>
+.RE
+.TP
+\(bu
+Applications should have a non-executable stack defined to make
+them less vulnerable to buffer overflow attacks.
+.sp
+Not inheriting the \fB$(LDFLAGS)\fP macro in \fIcmd/Makefile.cmd\fP
+is the typical reason for not having a non-executable stack definition.
+Applications without this definition are displayed as:
+.sp
+.RS 6
+foo: application requires non-executable stack \\
+.br
+.nf
+	<remove -Mmapfile_execstack?>
+.fi
+.RE
+.sp
+.TP
+\(bu
+x86 applications should have a non-executable data segment defined to make
+them less vulnerable to buffer overflow attacks.
+.sp
+Not inheriting the \fB$(LDFLAGS)\fP macro in \fIcmd/Makefile.cmd\fP
+is the typical reason for not having a non-executable data definition.
+Applications without this definition are displayed as:
+.sp
+.RS 6
+foo: application requires non-executable data \\
+.br
+.nf
+	<remove -Mmapfile_execdata?>
+.fi
+.RE
+.sp
+.TP
+\(bu
+Solaris ELF files contain symbol sort sections used by DTrace to
+map addresses in memory to the related function or variable symbols. There
+are two such sections, \fI.SUNW_dynsymsort\fP for
+regular symbols, and \fI.SUNW_dyntlssort\fP for thread-local
+symbols. To ensure that the best names are shown for each
+such address, and that the same name is given across Solaris releases,
+.I check_rtime
+enforces the rule that only one symbol can appear in the sort sections for
+any given address.
+There are two common ways in which multiple symbols
+or a given address occur in the ON distribution. The first is from
+code written in assembly language. The second is as a
+result of using \fB#pragma weak\fP in C to create weak symbols. The
+best solution to this
+situation is to modify the code to avoid symbol aliasing. Alternatively,
+the \fBNODYNSORT\fP mapfile attribute can be used to eliminate the unwanted
+symbol.
+.sp
+Duplicate entries in a symbol sort section are
+displayed in one of the following ways, depending on
+whether the section is for regular or thread-local symbols:
+.sp
+.RS 6
+foo: .SUNW_dynsymsort: duplicate ADDRESS: sym1, sym2
+.br
+foo: .SUNW_dyntlssort: duplicate OFFSET: sym1, sym2
+.RE
+.sp
+.TP
+\(bu
+\fBOSNet\fP dynamic ELF objects are expected to employ direct bindings whenever
+feasible.  This runtime binding technique helps to avoid accidental
+interposition problems, and provides a more optimal
+runtime symbol search model.
+.sp
+Not inheriting the correct \fB$(LDFLAGS)\fP from \fIcmd/Makefile.cmd\fP,
+or the correct \fB$(DYNFLAGS)\fP from \fIlib/Makefile.lib\fP, are the
+typical reasons for not enabling direct bindings. Dynamic objects that
+do not contain direct binding information are displayed as:
+.sp
+.RS 6
+foo: object has no direct bindings \\
+.br
+.nf
+	<no -B direct or -z direct?>
+.fi
+.RE
+
+.sp
+.LP
+.I check_rtime also
+uses \fBelfdump(1)\fP
+to display useful dynamic entry information under the \fB-i\fP option.
+This doesn't necessarily indicate an error condition, but
+provides information that is often useful for gatekeepers to track
+changes in a release.  Presently the information listed is:
+.TP
+\(bu
+Runpaths are printed for any dynamic object.  This is a historic
+sanity check to insure compiler supplied runpaths (typically from \fBCC\fP)
+are not recorded in any objects.  Runpaths are displayed as:
+.sp
+.RS 6
+foo: RPATH=/usr/bar/lib
+.RE
+.TP
+\(bu
+Needed dependencies are printed for any dynamic object.
+In the freeware world this often helps the introducer of a new
+shared object discover that an existing binary has become its
+consumer, and thus that binaries package dependencies may require updating.
+Dependencies are printed as:
+.sp
+.RS 6
+foo: NEEDED=bar.so.1
+.RE
+.sp
+.LP
+.I check_rtime
+uses \fBmcs(1)\fP to inspect an object's \fI.comment\fP section.
+During development, this section contains numerous file identifiers
+marked with the tag "\fB@(#)\fP".  For release builds these sections
+are deleted and rewritten under control of the \fB$(POST_PROCESS)\fP
+macro to produce a common release identifier.  This identifier
+typically consists of three lines including a single comment starting
+with the string "\fB@(#) SunOS\fP".  If this common identifier isn't
+found the following diagnostic is generated:
+.sp
+.RS 6
+foo: non-conforming mcs(1) comment  <no $(POST_PROCESS)?>
+.RE
+.sp
+.LP
+.I check_rtime
+uses \fBpvs(1)\fP to display version definitions under the \fB-v\fP option.
+Each symbol defined by the object is shown along with the version it belongs to.
+Changes to the symbols defined by an object, or the versions they belong to,
+do not necessarily indicate an error condition, but
+provides information that is often useful for gatekeepers to track
+changes in a release.
+.sp
+.SH OPTIONS
+.LP
+The following options are supported:
+.TP 4
+.B \-D depfile
+Use \fIdepfile\fP to generate an alternative dependency mapping.
+\fIdepfile\fP must be created by '\fBfind_elf -r\fP'.
+The \fB-D\fP and \fB-d\fP options are mutually exclusive.
+.TP
+.B \-d depdir
+Use \fIdepdir\fP to generate an alternative dependency mapping.
+\fBfind_elf(1ONBLD)\fP is used to locate the ELF sharable objects for
+which alternative mappings are required. The \fB-D\fP and \fB-d\fP options
+are mutually exclusive.
+.TP 4
+.B \-E errfile
+Direct error messages for the analyzed objects to \fIerrfile\fP instead
+of stdout.
+.TP 4
+.B \-e exfile
+An exception file is used to exclude objects from
+the usual rules. See EXCEPTION FILE FORMAT.
+.TP
+.B \-f listfile
+Normally,
+.I interface_check
+runs
+.I find_elf
+to locate the ELF objects to analyze. The \fB-f\fP option can be
+used to instead provide a file containing the list of objects to
+analyze, in the format produced by '\fBfind_elf -r\fP'.
+.TP
+.B -I infofile
+Direct informational messages (\fB-i\fP, and \fB-v\fP options) for the
+analyzed objects to \fIinfofile\fP instead of stdout.
+.TP
+.B \-i
+Provide dynamic entry information.  Presently only dependencies and
+runpaths are printed.
+.TP
+.B \-o
+Produce a one-line output for each condition discovered, prefixed
+by the objects name.  This output style is more terse, but is
+more appropriate for sorting and diffing with previous build results.
+.TP
+.B \-s
+Determine whether \fI.stabs\fP sections exist.
+.TP
+.B \-v
+Provide version definition information. Each symbol defined by the object
+is printed along with the version it is assigned to.
+.TP
+.B -w outdir
+Interpret the paths of all input and output files relative to \fIoutdir\fP.
+.SH EXCEPTION FILE FORMAT
+Exceptions to the rules enforced by
+.I check_rtime
+are specified using an exception file. The \fB-e\fP option is used to
+specify an explicit exception file. Otherwise, if used in an activated
+workspace, the default exception file is
+$SRCTOP/exception_list/check_rtime
+if that file exists. If not used in an activated workspace, or if
+$SRCTOP/exception_list/check_rtime does not exist,
+.I check_rtime
+will use
+.I /opt/onbld/etc/exception_list/check_rtime
+as a fallback default exception file.
+.P
+To run
+.I check_rtime
+without applying exceptions, specify \fB-e\fP with a value of /dev/null.
+.P
+A '#' character at the beginning of a line, or at any point in
+a line when preceded by whitespace, introduces a comment. Empty lines,
+and lines containing only comments, are ignored by
+.I check_rtime.
+Exceptions are specified as space separated keyword, and \fBperl(1)\fP
+regular expression:
+.sp
+.in +4
+.nf
+keyword  perl-regex
+.fi
+.in -4
+.sp
+Since whitespace is used as a separator, the regular
+expression cannot itself contain whitespace. Use of the \\s character
+class to represent whitespace within the regular expression is recommended.
+Before the perl regular expression is used, constructs of the form
+MACH(dir) are expanded into a regular expression that matches the directory
+given, as well as any 64-bit architecture subdirectory that
+might be present (i.e. amd64, sparcv9). For instance, MACH(lib) will
+match any of the following:
+.sp
+.in +4
+.nf
+lib
+lib/amd64
+lib/sparcv9
+.fi
+.in -4
+.sp
+The exceptions understood by
+.I check_rtime
+are:
+.sp
+.ne 2
+.na
+\fBEXEC_DATA\fR
+.ad
+.RS 17n
+.sp
+Executables that are not required to have non-executable writable
+data segments
+.RE
+
+.sp
+.ne 2
+.na
+\fBEXEC_STACK\fR
+.ad
+.RS 17n
+.sp
+Executables that are not required to have a non-executable stack
+.RE
+
+.sp
+.ne 2
+.na
+\fBNOCRLEALT\fR
+.ad
+.RS 17n
+.sp
+Objects that should be skipped when building the alternative dependency
+mapping via the \fB-d\fP option.
+.RE
+
+.sp
+.ne 2
+.na
+\fBNODIRECT\fR
+.ad
+.RS 17n
+.sp
+Directories and files that are allowed to have no direct bound symbols.
+.RE
+
+.sp
+.ne 2
+.na
+\fBNOSYMSORT\fR
+.ad
+.RS 17n
+.sp
+Files for which we skip checking of duplicate addresses in the
+symbol sort sections.
+.RE
+
+.sp
+.ne 2
+.na
+\fBOLDDEP\fR
+.ad
+.RS 17n
+.sp
+Objects that used to contain system functionality that has since
+migrated to libc. We preserve these libraries as pure filters for
+backward compatibility but nothing needs to link to them.
+.RE
+
+.sp
+.ne 2
+.na
+\fBSKIP\fR
+.ad
+.RS 17n
+.sp
+Directories and/or individual objects to skip. Note that SKIP should be
+a last resort, used only when one of the other exceptions will not suffice.
+.RE
+
+.sp
+.ne 2
+.na
+\fBSTAB\fR
+.ad
+.RS 17n
+.sp
+Objects that are allowed to contain debugging information (stabs).
+.RE
+
+.sp
+.ne 2
+.na
+\fBTEXTREL\fR
+.ad
+.RS 17n
+.sp
+Objects for which we allow relocations to the text segment.
+.RE
+
+.sp
+.ne 2
+.na
+\fBUNDEF_OBJ\fR
+.ad
+.RS 17n
+.sp
+Objects that are allowed to be unreferenced.
+.RE
+
+.sp
+.ne 2
+.na
+\fBUNDEF_REF\fR
+.ad
+.RS 17n
+.sp
+Objects that are allowed undefined references.
+.RE
+
+.sp
+.ne 2
+.na
+\fBUNUSED_DEPS\fR
+.ad
+.RS 17n
+.sp
+Objects that are allowed to have unused dependencies.
+.RE
+
+.sp
+.ne 2
+.na
+\fBUNUSED_OBJ\fR
+.ad
+.RS 17n
+.sp
+Objects that are always allowed to be unused dependencies.
+.RE
+
+.sp
+.ne 2
+.na
+\fBUNUSED_RPATH\fR
+.ad
+.RS 17n
+.sp
+Objects that are allowed to have unused runpath directories.
+.RE
+
+.SH ALTERNATIVE DEPENDENCY MAPPING
+.I check_rtime
+was primarily designed to process a nightly builds \fB$ROOT\fP
+hierarchy. It is often the case that objects within this hierarchy
+must bind to dependencies within the same hierarchy to satisfy
+their requirements.
+.LP
+To achieve this,
+.I check_rtime
+uses the shared objects specified with the \fB-D\fP or \fB-d\fP options.
+If neither option is specified, and the \fB$SRCTOP\fP and \fB$ROOT\fP
+environment variables are defined, the proto area for the workspace
+is used. The objects found are used
+to create runtime configuration files via \fBcrle(1)\fP, that establish
+the new shared objects as alternatives to their underlying system location.
+.I check_rtime
+passes these configuration files as \fBLD_CONFIG\fP environment
+variable settings to \fBldd(1)\fP using its \fB-e\fP option.
+.LP
+The effect of these configuration files is that the execution of an
+object under \fBldd(1)\fP will bind to the dependencies defined as
+alternatives.  Simply put, an object inspected in the \fIproto\fP
+area will bind to its dependencies found in the \fIproto\fP area.
+Dependencies that have no alternative mapping will continue to
+bind to the underlying system.
+.SH ENVIRONMENT VARIABLES
+.LP
+When the \fB-D\fP or \fB-d\fP option isn't in use,
+.I check_rtime
+uses the following environment variables to
+establish an alternative dependency mapping:
+.LP
+.B SRCTOP
+.RS 4
+The root of your workspace, which is the directory
+containing \fICodemgr_wsdata\fP. Existence of this environment variable
+indicates that \fB$ROOT\fP should be investigated.
+.RE
+.LP
+.B ROOT
+.RS 4
+Root of the \fIproto\fP area of your workspace. Any shared objects
+under this directory will be used to establish an alternative dependency
+mapping.
+.RE
+.sp
+If \fBldd(1)\fP supports the \fB-U\fP option, it will be used to determine
+any unreferenced dependencies.  Otherwise \fBldd(1)\fP uses the older
+\fB-u\fP option which only detects unused references.  If the following
+environment variable exists, and indicates an earlier release than \fB5.10\fP
+then \fBldd(1)\fP also falls back to using the \fB-u\fP option.
+.LP
+.B RELEASE
+.RS 4
+The release version number of the environment being built.
+.RE
+.SH ERROR CONDITIONS
+.LP
+Inspection of an object with \fBldd(1)\fP assumes it is compatible
+with the machine on which
+.I check_rtime
+is being run.  Incompatible objects such as a 64-bit object encountered on
+a 32-bit system, or an i386 object encountered on a sparc system,
+can not be fully inspected.  These objects are displayed as:
+.sp
+.RS 4
+foo: has wrong class or data encoding
+.RE
+.SH FILES
+.LP
+.RS 5
+$SRCTOP/exception_list/check_rtime
+/opt/onbld/etc/exception_list/check_rtime
+.SH SEE ALSO
+.B crle(1),
+.B elfdump(1),
+.B find_elf(1ONBLD),
+.B ldd(1),
+.B ld.so.1(1),
+.B mcs(1).
--- a/usr/src/tools/scripts/check_rtime.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,700 +0,0 @@
-.\" Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
-.\"
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.TH CHECK_RTIME 1ONBLD "Mar 09, 2010"
-.SH NAME
-.I check_rtime
-\- check ELF runtime attributes
-.SH SYNOPSIS
-\fBcheck_rtime [-iosv] [-D depfile | -d depdir] [-E errfile] [-e exfile] [-f listfile] [-I infofile] [-w outdir] file | dir, ...\fP
-.SH DESCRIPTION
-.LP
-.I check_rtime
-attempts to check a number of ELF runtime attributes
-for consistency with common build rules.
-These checks involve running \fBldd(1)\fP and
-\fBelfdump(1)\fP against a family of dynamic objects.
-A dynamic object can be defined explicitly as a \fIfile\fP
-or multiple dynamic objects can be located under the directory \fIdir\fP.
-.LP
-.I check_rtime
-is typically called from \fBnightly(1ONBLD)\fP when the \fB-r\fP
-option is in effect. In this case the dynamic objects under
-the associated \fIproto\fP area (\fB$ROOT\fP) are checked.
-.I check_rtime
-can also be run standalone against any set of dynamic objects.
-.LP
-.I check_rtime
-uses \fBldd(1)\fP to verify dependencies. This implies that
-by default any object inspected will bind to its dependencies
-as they are found in the \fBunderlying\fP system.  Use of the \fB-D\fP, \fB-d\fP
-option, or the existence of the environment variables
-\fB$SRCTOP/$ROOT\fP instruct
-.I check_rtime
-to establish an alternative dependency mapping using
-runtime configuration files generated with \fBcrle(1)\fP.
-.LP
-.I check_rtime
-uses \fBldd(1)\fP to completely relocate any dynamic
-object and thus detect missing dependencies, unsatisfied
-symbol relocations, unused and unreferenced dependencies. These checks
-are carried out for the following reasons:
-.TP 4
-\(bu
-An object that cannot find its dependencies may fail to load
-at runtime.  This error condition often goes unnoticed
-because the existing use of the object is as a dependency itself,
-and the objects' dependencies are already satisfied by the
-caller.  However, if the object itself is unable to satisfy its
-dependencies, its use in new environments may be compromised.
-.sp
-A missing or erroneous \fBrunpath\fP is the typical reason why
-an object can not locate its dependencies.  Use of the link-editors
-\fB-zdefs\fP option when building a shared object ensures required
-dependencies are established.  This flag is inherited from
-\fB$(DYNFLAGS)\fP in \fIlib/Makefile.lib\fP. Missing dependencies
-are displayed as:
-.sp
-.RS 6
-foo: bar.so.1 => (file not found)  <no -zdefs?>
-.RE
-.TP
-\(bu
-Unsatisfied symbol relocations indicate that some thread of
-execution through the object will fail when it is unable to
-locate a referenced symbol.
-.sp
-A missing, or mismatched version of a dependency is the typical
-reason for unsatisfied symbol relocations (see missing dependency
-discussion above). Unsatisfied symbol relocations are displayed as:
-.sp
-.RS 6
-foo: symbol not found: bar  <no -zdefs?>
-.RE
-.RS 4
-.sp
-Note: Shared objects can make reference to symbol definitions
-that are expected to be defined by the caller. To indicate that
-such symbols are not undefined in the usual sense, you must
-specify these symbols in a \fImapfile\fP, using the \fBEXTERN\fP
-or \fBPARENT\fP symbol attribute. Without these symbol attributes,
-\fBldd(1)\fP is unable to determine the symbols special nature, and
-.I check_rtime
-will report these symbols as undefined.
-.RE
-.TP
-\(bu
-Unused dependencies are wasteful at runtime, as they take time to
-load and relocate, but will not be used by the calling object.  They
-also result in unnecessary processing at link-edit time.
-.sp
-Dependency lists (typically defined via \fB$(LDLIBS)\fP)
-that have been yanked-and-put
-between \fIMakefiles\fP without verifying their need, are a typical
-reason why unused dependencies exist.  Unused dependencies are
-displayed as:
-.sp
-.RS 6
-foo: unused object=bar.so.1  <remove lib or -zignore?>
-.RE
-.TP
-\(bu
-Unreferenced dependencies are also wasteful at runtime, although not
-to the extent of unused dependencies.  They also result in unnecessary
-processing at link-edit time.
-.sp
-Unreferenced dependency removal guards against a dependency becoming
-unused when combined with
-different objects, or as the other object dependencies evolve.
-Unreferenced dependencies are displayed as:
-.sp
-.RS 6
-foo: unreferenced object=bar.so.1;  \\
-.br
-    unused dependency of libfoo.so.1  \\
-.br
-    <remove lib or -zignore?>
-.RE
-.RS 4
-.sp
-See also the section ENVIRONMENT VARIABLES.
-.RE
-.TP
-\(bu
-Unused search paths are wasteful at runtime.
-Unused search paths are displayed as:
-.sp
-.RS 6
-foo: unused search path=/usr/foo/lib  \\
-.br
-    (RUNPATH/RPATH from file libfoo.so.1)  \\
-.br
-    <remove search path?>
-.RE
-.LP
-.I check_rtime
-uses \fBelfdump(1)\fP to look for a concatenated relocation
-section in shared objects, the existence of text relocations,
-whether debugging or symbol table information exists, whether
-applications have a non-executable stack defined, duplicate
-entries in the symbol sorting sections, and for direct bindings.
-These checks are carried out for the following reasons:
-.TP 4
-\(bu
-A concatenated relocation section (\fI.SUNW_reloc\fP)
-provides optimal symbol table
-access at runtime, and thus reduces the overhead of relocating
-the shared object.  In past releases, the link-edit of a dynamic object with
-the \fB-z combreloc\fP option was required to generate a combined
-relocation section.  However, with the integration of 6642769, this section
-combination is a default behavior of the link-editor.
-.sp
-In past releases, not inheriting \fB$(DYNFLAGS)\fP from
-\fIlib/Makefile.lib\fP was the typical reason for not having a
-concatenated relocation section. The misguided use of the
-\fB-z nocombreloc\fP option will also prevent the creation of a
-concatenated relocation section. A missing concatenated relocation section
-is displayed as:
-.sp
-.RS 6
-foo: .SUNW_reloc section missing  <no -zcombreloc?>
-.RE
-.TP
-\(bu
-Text relocations result in impure text segments.  As text segments
-are typically read-only, they can be shared between numerous processes.
-If they must be updated as part of the relocation then the updated
-pages become unsharable and swap space must be allocated to back
-these pages.  These events consume unnecessary system resources and
-reduce overall system performance.
-.sp
-Not inheriting the \fB$(PICS)\fP
-rules from \fIlib/Makefile.lib\fP is the typical reason for having
-non-pic code in shared objects.  Text relocations are displayed as:
-.sp
-.RS 6
-foo: TEXTREL .dynamic tag  <no -Kpic?>
-.RE
-.TP
-\(bu
-Debugging information is unnecessary in released objects.  Although
-extensive when compiled \fB-g\fP, small quantities of debugging
-information are stored in \fI.stabs\fP sections under normal
-compilations.  This debugging information is geared towards aiding
-debuggers locate relocatable objects associated with the dynamic
-objects being debugged.  As relocatable objects aren't made available
-as part of a software release this information has no use.
-.sp
-Not inheriting the correct \fB$(LDFLAGS)\fP from \fIcmd/Makefile.cmd\fP
-(which asserts \fP-s\fP), or \fB$(POST_PROCESS_SO)\fP (which asserts
-\fIstrip -x\fP) are typical reasons for not removing debugging
-information.  Note, removal of debugging information is only enabled
-for release builds. The existence of debugging information is displayed as:
-.sp
-.RS 6
-foo: debugging sections should be deleted  \\
-.br
-    <no strip -x?>
-.RE
-.TP
-\(bu
-All objects should retain their full \fI.symtab\fP symbol table.
-Although this consumes disk space, it provides for more extensive stack
-tracing when debugging user applications.
-.sp
-Hard coding a \fI-s\fP flag with \fB$(LDFLAGS)\fP or
-\fB$(DYNFLAGS)\fP is the typical
-reason for symbol tables being removed.
-Objects that do not contain a symbol table are displayed as:
-.sp
-.RS 6
-foo.so.1: symbol table should not be stripped  \\
-.br
-    <remove -s?>
-.RE
-.TP
-\(bu
-Applications should have a non-executable stack defined to make
-them less vulnerable to buffer overflow attacks.
-.sp
-Not inheriting the \fB$(LDFLAGS)\fP macro in \fIcmd/Makefile.cmd\fP
-is the typical reason for not having a non-executable stack definition.
-Applications without this definition are displayed as:
-.sp
-.RS 6
-foo: application requires non-executable stack \\
-.br
-.nf
-	<remove -Mmapfile_execstack?>
-.fi
-.RE
-.sp
-.TP
-\(bu
-x86 applications should have a non-executable data segment defined to make
-them less vulnerable to buffer overflow attacks.
-.sp
-Not inheriting the \fB$(LDFLAGS)\fP macro in \fIcmd/Makefile.cmd\fP
-is the typical reason for not having a non-executable data definition.
-Applications without this definition are displayed as:
-.sp
-.RS 6
-foo: application requires non-executable data \\
-.br
-.nf
-	<remove -Mmapfile_execdata?>
-.fi
-.RE
-.sp
-.TP
-\(bu
-Solaris ELF files contain symbol sort sections used by DTrace to
-map addresses in memory to the related function or variable symbols. There
-are two such sections, \fI.SUNW_dynsymsort\fP for
-regular symbols, and \fI.SUNW_dyntlssort\fP for thread-local
-symbols. To ensure that the best names are shown for each
-such address, and that the same name is given across Solaris releases,
-.I check_rtime
-enforces the rule that only one symbol can appear in the sort sections for
-any given address.
-There are two common ways in which multiple symbols
-or a given address occur in the ON distribution. The first is from
-code written in assembly language. The second is as a
-result of using \fB#pragma weak\fP in C to create weak symbols. The
-best solution to this
-situation is to modify the code to avoid symbol aliasing. Alternatively,
-the \fBNODYNSORT\fP mapfile attribute can be used to eliminate the unwanted
-symbol.
-.sp
-Duplicate entries in a symbol sort section are
-displayed in one of the following ways, depending on
-whether the section is for regular or thread-local symbols:
-.sp
-.RS 6
-foo: .SUNW_dynsymsort: duplicate ADDRESS: sym1, sym2
-.br
-foo: .SUNW_dyntlssort: duplicate OFFSET: sym1, sym2
-.RE
-.sp
-.TP
-\(bu
-\fBOSNet\fP dynamic ELF objects are expected to employ direct bindings whenever
-feasible.  This runtime binding technique helps to avoid accidental
-interposition problems, and provides a more optimal
-runtime symbol search model.
-.sp
-Not inheriting the correct \fB$(LDFLAGS)\fP from \fIcmd/Makefile.cmd\fP,
-or the correct \fB$(DYNFLAGS)\fP from \fIlib/Makefile.lib\fP, are the
-typical reasons for not enabling direct bindings. Dynamic objects that
-do not contain direct binding information are displayed as:
-.sp
-.RS 6
-foo: object has no direct bindings \\
-.br
-.nf
-	<no -B direct or -z direct?>
-.fi
-.RE
-
-.sp
-.LP
-.I check_rtime also
-uses \fBelfdump(1)\fP
-to display useful dynamic entry information under the \fB-i\fP option.
-This doesn't necessarily indicate an error condition, but
-provides information that is often useful for gatekeepers to track
-changes in a release.  Presently the information listed is:
-.TP
-\(bu
-Runpaths are printed for any dynamic object.  This is a historic
-sanity check to insure compiler supplied runpaths (typically from \fBCC\fP)
-are not recorded in any objects.  Runpaths are displayed as:
-.sp
-.RS 6
-foo: RPATH=/usr/bar/lib
-.RE
-.TP
-\(bu
-Needed dependencies are printed for any dynamic object.
-In the freeware world this often helps the introducer of a new
-shared object discover that an existing binary has become its
-consumer, and thus that binaries package dependencies may require updating.
-Dependencies are printed as:
-.sp
-.RS 6
-foo: NEEDED=bar.so.1
-.RE
-.sp
-.LP
-.I check_rtime
-uses \fBmcs(1)\fP to inspect an object's \fI.comment\fP section.
-During development, this section contains numerous file identifiers
-marked with the tag "\fB@(#)\fP".  For release builds these sections
-are deleted and rewritten under control of the \fB$(POST_PROCESS)\fP
-macro to produce a common release identifier.  This identifier
-typically consists of three lines including a single comment starting
-with the string "\fB@(#) SunOS\fP".  If this common identifier isn't
-found the following diagnostic is generated:
-.sp
-.RS 6
-foo: non-conforming mcs(1) comment  <no $(POST_PROCESS)?>
-.RE
-.sp
-.LP
-.I check_rtime
-uses \fBpvs(1)\fP to display version definitions under the \fB-v\fP option.
-Each symbol defined by the object is shown along with the version it belongs to.
-Changes to the symbols defined by an object, or the versions they belong to,
-do not necessarily indicate an error condition, but
-provides information that is often useful for gatekeepers to track
-changes in a release.
-.sp
-.SH OPTIONS
-.LP
-The following options are supported:
-.TP 4
-.B \-D depfile
-Use \fIdepfile\fP to generate an alternative dependency mapping.
-\fIdepfile\fP must be created by '\fBfind_elf -r\fP'.
-The \fB-D\fP and \fB-d\fP options are mutually exclusive.
-.TP
-.B \-d depdir
-Use \fIdepdir\fP to generate an alternative dependency mapping.
-\fBfind_elf(1ONBLD)\fP is used to locate the ELF sharable objects for
-which alternative mappings are required. The \fB-D\fP and \fB-d\fP options
-are mutually exclusive.
-.TP 4
-.B \-E errfile
-Direct error messages for the analyzed objects to \fIerrfile\fP instead
-of stdout.
-.TP 4
-.B \-e exfile
-An exception file is used to exclude objects from
-the usual rules. See EXCEPTION FILE FORMAT.
-.TP
-.B \-f listfile
-Normally,
-.I interface_check
-runs
-.I find_elf
-to locate the ELF objects to analyze. The \fB-f\fP option can be
-used to instead provide a file containing the list of objects to
-analyze, in the format produced by '\fBfind_elf -r\fP'.
-.TP
-.B -I infofile
-Direct informational messages (\fB-i\fP, and \fB-v\fP options) for the
-analyzed objects to \fIinfofile\fP instead of stdout.
-.TP
-.B \-i
-Provide dynamic entry information.  Presently only dependencies and
-runpaths are printed.
-.TP
-.B \-o
-Produce a one-line output for each condition discovered, prefixed
-by the objects name.  This output style is more terse, but is
-more appropriate for sorting and diffing with previous build results.
-.TP
-.B \-s
-Determine whether \fI.stabs\fP sections exist.
-.TP
-.B \-v
-Provide version definition information. Each symbol defined by the object
-is printed along with the version it is assigned to.
-.TP
-.B -w outdir
-Interpret the paths of all input and output files relative to \fIoutdir\fP.
-.SH EXCEPTION FILE FORMAT
-Exceptions to the rules enforced by
-.I check_rtime
-are specified using an exception file. The \fB-e\fP option is used to
-specify an explicit exception file. Otherwise, if used in an activated
-workspace, the default exception file is
-$SRCTOP/exception_list/check_rtime
-if that file exists. If not used in an activated workspace, or if
-$SRCTOP/exception_list/check_rtime does not exist,
-.I check_rtime
-will use
-.I /opt/onbld/etc/exception_list/check_rtime
-as a fallback default exception file.
-.P
-To run
-.I check_rtime
-without applying exceptions, specify \fB-e\fP with a value of /dev/null.
-.P
-A '#' character at the beginning of a line, or at any point in
-a line when preceded by whitespace, introduces a comment. Empty lines,
-and lines containing only comments, are ignored by
-.I check_rtime.
-Exceptions are specified as space separated keyword, and \fBperl(1)\fP
-regular expression:
-.sp
-.in +4
-.nf
-keyword  perl-regex
-.fi
-.in -4
-.sp
-Since whitespace is used as a separator, the regular
-expression cannot itself contain whitespace. Use of the \\s character
-class to represent whitespace within the regular expression is recommended.
-Before the perl regular expression is used, constructs of the form
-MACH(dir) are expanded into a regular expression that matches the directory
-given, as well as any 64-bit architecture subdirectory that
-might be present (i.e. amd64, sparcv9). For instance, MACH(lib) will
-match any of the following:
-.sp
-.in +4
-.nf
-lib
-lib/amd64
-lib/sparcv9
-.fi
-.in -4
-.sp
-The exceptions understood by
-.I check_rtime
-are:
-.sp
-.ne 2
-.na
-\fBEXEC_DATA\fR
-.ad
-.RS 17n
-.sp
-Executables that are not required to have non-executable writable
-data segments
-.RE
-
-.sp
-.ne 2
-.na
-\fBEXEC_STACK\fR
-.ad
-.RS 17n
-.sp
-Executables that are not required to have a non-executable stack
-.RE
-
-.sp
-.ne 2
-.na
-\fBNOCRLEALT\fR
-.ad
-.RS 17n
-.sp
-Objects that should be skipped when building the alternative dependency
-mapping via the \fB-d\fP option.
-.RE
-
-.sp
-.ne 2
-.na
-\fBNODIRECT\fR
-.ad
-.RS 17n
-.sp
-Directories and files that are allowed to have no direct bound symbols.
-.RE
-
-.sp
-.ne 2
-.na
-\fBNOSYMSORT\fR
-.ad
-.RS 17n
-.sp
-Files for which we skip checking of duplicate addresses in the
-symbol sort sections.
-.RE
-
-.sp
-.ne 2
-.na
-\fBOLDDEP\fR
-.ad
-.RS 17n
-.sp
-Objects that used to contain system functionality that has since
-migrated to libc. We preserve these libraries as pure filters for
-backward compatibility but nothing needs to link to them.
-.RE
-
-.sp
-.ne 2
-.na
-\fBSKIP\fR
-.ad
-.RS 17n
-.sp
-Directories and/or individual objects to skip. Note that SKIP should be
-a last resort, used only when one of the other exceptions will not suffice.
-.RE
-
-.sp
-.ne 2
-.na
-\fBSTAB\fR
-.ad
-.RS 17n
-.sp
-Objects that are allowed to contain debugging information (stabs).
-.RE
-
-.sp
-.ne 2
-.na
-\fBTEXTREL\fR
-.ad
-.RS 17n
-.sp
-Objects for which we allow relocations to the text segment.
-.RE
-
-.sp
-.ne 2
-.na
-\fBUNDEF_OBJ\fR
-.ad
-.RS 17n
-.sp
-Objects that are allowed to be unreferenced.
-.RE
-
-.sp
-.ne 2
-.na
-\fBUNDEF_REF\fR
-.ad
-.RS 17n
-.sp
-Objects that are allowed undefined references.
-.RE
-
-.sp
-.ne 2
-.na
-\fBUNUSED_DEPS\fR
-.ad
-.RS 17n
-.sp
-Objects that are allowed to have unused dependencies.
-.RE
-
-.sp
-.ne 2
-.na
-\fBUNUSED_OBJ\fR
-.ad
-.RS 17n
-.sp
-Objects that are always allowed to be unused dependencies.
-.RE
-
-.sp
-.ne 2
-.na
-\fBUNUSED_RPATH\fR
-.ad
-.RS 17n
-.sp
-Objects that are allowed to have unused runpath directories.
-.RE
-
-.SH ALTERNATIVE DEPENDENCY MAPPING
-.I check_rtime
-was primarily designed to process a nightly builds \fB$ROOT\fP
-hierarchy. It is often the case that objects within this hierarchy
-must bind to dependencies within the same hierarchy to satisfy
-their requirements.
-.LP
-To achieve this,
-.I check_rtime
-uses the shared objects specified with the \fB-D\fP or \fB-d\fP options.
-If neither option is specified, and the \fB$SRCTOP\fP and \fB$ROOT\fP
-environment variables are defined, the proto area for the workspace
-is used. The objects found are used
-to create runtime configuration files via \fBcrle(1)\fP, that establish
-the new shared objects as alternatives to their underlying system location.
-.I check_rtime
-passes these configuration files as \fBLD_CONFIG\fP environment
-variable settings to \fBldd(1)\fP using its \fB-e\fP option.
-.LP
-The effect of these configuration files is that the execution of an
-object under \fBldd(1)\fP will bind to the dependencies defined as
-alternatives.  Simply put, an object inspected in the \fIproto\fP
-area will bind to its dependencies found in the \fIproto\fP area.
-Dependencies that have no alternative mapping will continue to
-bind to the underlying system.
-.SH ENVIRONMENT VARIABLES
-.LP
-When the \fB-D\fP or \fB-d\fP option isn't in use,
-.I check_rtime
-uses the following environment variables to
-establish an alternative dependency mapping:
-.LP
-.B SRCTOP
-.RS 4
-The root of your workspace, which is the directory
-containing \fICodemgr_wsdata\fP. Existence of this environment variable
-indicates that \fB$ROOT\fP should be investigated.
-.RE
-.LP
-.B ROOT
-.RS 4
-Root of the \fIproto\fP area of your workspace. Any shared objects
-under this directory will be used to establish an alternative dependency
-mapping.
-.RE
-.sp
-If \fBldd(1)\fP supports the \fB-U\fP option, it will be used to determine
-any unreferenced dependencies.  Otherwise \fBldd(1)\fP uses the older
-\fB-u\fP option which only detects unused references.  If the following
-environment variable exists, and indicates an earlier release than \fB5.10\fP
-then \fBldd(1)\fP also falls back to using the \fB-u\fP option.
-.LP
-.B RELEASE
-.RS 4
-The release version number of the environment being built.
-.RE
-.SH ERROR CONDITIONS
-.LP
-Inspection of an object with \fBldd(1)\fP assumes it is compatible
-with the machine on which
-.I check_rtime
-is being run.  Incompatible objects such as a 64-bit object encountered on
-a 32-bit system, or an i386 object encountered on a sparc system,
-can not be fully inspected.  These objects are displayed as:
-.sp
-.RS 4
-foo: has wrong class or data encoding
-.RE
-.SH FILES
-.LP
-.RS 5
-$SRCTOP/exception_list/check_rtime
-/opt/onbld/etc/exception_list/check_rtime
-.SH SEE ALSO
-.B crle(1),
-.B elfdump(1),
-.B find_elf(1ONBLD),
-.B ldd(1),
-.B ld.so.1(1),
-.B mcs(1).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/checkpaths.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,77 @@
+.\" Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License").  You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.TH CHECKPATHS 1ONBLD "Sep 25, 2003"
+.SH NAME
+.I checkpaths
+\- check file path containing files
+.SH SYNOPSIS
+\fBcheckpaths [-b] [root_paths...]\fP
+.SH DESCRIPTION
+.LP
+.I checkpaths
+inspects the contents of various files within an OS-Net workspace to
+ensure that the file paths listed in those files are valid.  This
+provides an integrity check of the workspace to catch cases where a
+file was removed or renamed without updating the corresponding
+\fIexception_list\fP entry.
+.LP
+.I checkpaths
+is typically called from \fBnightly(1ONBLD)\fP.  It may be invoked
+interactively within a workspace, and requires that at least
+\fI$SRCTOP\fP is set to a valid workspace.  It is not necessary
+that a full build has been performed in the workspace to be tested,
+but if full build(s) are not available under the
+\fI$SRCTOP/proto/\fP directory, then the corresponding exclusion
+lists are not verified.
+.SH OPTIONS
+.LP
+The following options are supported:
+.TP 4
+.B \-b
+Disable processing of files that list derived (built) objects.  This
+should be set if the \fI$SRCTOP/proto/\fP directory exists, but
+the contents are known to be bad.  \fBnightly(1ONBLD)\fP will typically set
+this flag if the build fails.
+.TP 4
+.B root_paths...
+By default, checkpaths validates all of the proto areas for known
+architectures that exist in the \fI$SRCTOP/proto/\fP directory.
+To specify other root directories, list them as arguments on the
+command line.  It is an error if any of the root paths specified does
+not end with a known architecture.
+.SH ENVIRONMENT VARIABLES
+.LP
+.B SRCTOP
+.RS 4
+The root of your workspace, which is the directory containing
+\fI.git\fP.
+.RE
+.LP
+.B SRC
+.RS 4
+The location of your ON source tree.  Defaults to
+\fI$SRCTOP/usr/src/\fP if not specified.
+.RE
+.SH SEE ALSO
+.B nightly(1ONBLD).
--- a/usr/src/tools/scripts/checkpaths.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-.\" Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
-.\" Use is subject to license terms.
-.\"
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License, Version 1.0 only
-.\" (the "License").  You may not use this file except in compliance
-.\" with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.TH CHECKPATHS 1ONBLD "Sep 25, 2003"
-.SH NAME
-.I checkpaths
-\- check file path containing files
-.SH SYNOPSIS
-\fBcheckpaths [-b] [root_paths...]\fP
-.SH DESCRIPTION
-.LP
-.I checkpaths
-inspects the contents of various files within an OS-Net workspace to
-ensure that the file paths listed in those files are valid.  This
-provides an integrity check of the workspace to catch cases where a
-file was removed or renamed without updating the corresponding
-\fIexception_list\fP entry.
-.LP
-.I checkpaths
-is typically called from \fBnightly(1ONBLD)\fP.  It may be invoked
-interactively within a workspace, and requires that at least
-\fI$SRCTOP\fP is set to a valid workspace.  It is not necessary
-that a full build has been performed in the workspace to be tested,
-but if full build(s) are not available under the
-\fI$SRCTOP/proto/\fP directory, then the corresponding exclusion
-lists are not verified.
-.SH OPTIONS
-.LP
-The following options are supported:
-.TP 4
-.B \-b
-Disable processing of files that list derived (built) objects.  This
-should be set if the \fI$SRCTOP/proto/\fP directory exists, but
-the contents are known to be bad.  \fBnightly(1ONBLD)\fP will typically set
-this flag if the build fails.
-.TP 4
-.B root_paths...
-By default, checkpaths validates all of the proto areas for known
-architectures that exist in the \fI$SRCTOP/proto/\fP directory.
-To specify other root directories, list them as arguments on the
-command line.  It is an error if any of the root paths specified does
-not end with a known architecture.
-.SH ENVIRONMENT VARIABLES
-.LP
-.B SRCTOP
-.RS 4
-The root of your workspace, which is the directory containing
-\fI.git\fP.
-.RE
-.LP
-.B SRC
-.RS 4
-The location of your ON source tree.  Defaults to
-\fI$SRCTOP/usr/src/\fP if not specified.
-.RE
-.SH SEE ALSO
-.B nightly(1ONBLD).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/cstyle.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,147 @@
+.\" Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.TH CSTYLE 1ONBLD "Feb 22, 2017"
+.SH NAME
+.I cstyle
+\- check for some common stylistic errors in C source files
+.SH SYNOPSIS
+\fBcstyle [-chpvCP] [-o constructs] [file...]\fP
+.SH DESCRIPTION
+.LP
+.I cstyle
+inspects C source files (*.c and *.h) for common stylistic errors.  It
+attempts to check for the cstyle documented in
+\fIcstyle.ms.pdf\fP.  Note that there is much
+in that document that
+.I cannot
+be checked for; just because your code is \fBcstyle(1ONBLD)\fP clean does not
+mean that you've followed illumos C style.  \fICaveat emptor\fP.
+.SH OPTIONS
+.LP
+The following options are supported:
+.TP 4
+.B \-c
+Check continuation line indentation inside of functions.  illumos C style
+states that all statements must be indented to an appropriate tab stop,
+and any continuation lines after them must be indented \fIexactly\fP four
+spaces from the start line.  This option enables a series of checks
+designed to find continuation line problems within functions only.  The
+checks have some limitations;  see CONTINUATION CHECKING, below.
+.TP 4
+.B \-h
+Performs heuristic checks that are sometimes wrong.  Not generally used.
+.TP 4
+.B \-p
+Performs some of the more picky checks.  Includes ANSI #else and #endif
+rules, and tries to detect spaces after casts.  Used as part of the
+putback checks.
+.TP 4
+.B \-v
+Verbose output;  includes the text of the line of error, and, for
+\fB-c\fP, the first statement in the current continuation block.
+.TP 4
+.B \-C
+Ignore errors in header comments (i.e. block comments starting in the
+first column).  Not generally used.
+.TP 4
+.B \-P
+Check for use of non-POSIX types.  Historically, types like "u_int" and
+"u_long" were used, but they are now deprecated in favor of the POSIX
+types uint_t, ulong_t, etc.  This detects any use of the deprecated
+types.  Used as part of the putback checks.
+.TP 4
+.B \-o \fIconstructs\fP
+Allow a comma-separated list of additional constructs.  Available
+constructs include:
+.TP 10
+.B doxygen
+Allow doxygen-style block comments (\fB/**\fP and \fB/*!\fP)
+.TP 10
+.B splint
+Allow splint-style lint comments (\fB/*@...@*/\fP)
+.SH NOTES
+.LP
+The cstyle rule for the illumos gate is that all new files must
+be \fB-pP\fP clean.  For existing files, the following invocations are
+run against both the old and new files:
+.TP 4
+\fBcstyle file\fB
+.TP 4
+\fBcstyle -p file\fB
+.TP 4
+\fBcstyle -pP file\fB
+.LP
+If the old file gave no errors for one of the invocations, the new file
+must also give no errors.  This way, files can only become more clean.
+.SH CONTINUATION CHECKING
+.LP
+The continuation checker is a reasonably simple state machine that knows
+something about how C is layed out, and can match parenthesis, etc. over
+multiple lines.  It does have some limitations:
+.TP 4
+.B 1.
+Preprocessor macros which cause unmatched parenthesis will confuse the
+checker for that line.  To fix this, you'll need to make sure that each
+branch of the #if statement has balanced parenthesis.
+.TP 4
+.B 2.
+Some \fBcpp\fP macros do not require ;s after them.  Any such macros
+*must* be ALL_CAPS; any lower case letters will cause bad output.
+.LP
+The bad output will generally be corrected after the next \fB;\fP,
+\fB{\fP, or \fB}\fP.
+.LP
+Some continuation error messages deserve some additional explanation
+.TP 4
+.B
+multiple statements continued over multiple lines
+A multi-line statement which is not broken at statement
+boundries.  For example:
+.RS 4
+.HP 4
+if (this_is_a_long_variable == another_variable) a =
+.br
+b + c;
+.LP
+Will trigger this error.  Instead, do:
+.HP 8
+if (this_is_a_long_variable == another_variable)
+.br
+a = b + c;
+.RE
+.TP 4
+.B
+empty if/for/while body not on its own line
+For visibility, empty bodies for if, for, and while statements should be
+on their own line.  For example:
+.RS 4
+.HP 4
+while (do_something(&x) == 0);
+.LP
+Will trigger this error.  Instead, do:
+.HP 8
+while (do_something(&x) == 0)
+.br
+;
+.RE
+
--- a/usr/src/tools/scripts/cstyle.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-.\" Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
-.\" Use is subject to license terms.
-.\"
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.TH CSTYLE 1ONBLD "Feb 22, 2017"
-.SH NAME
-.I cstyle
-\- check for some common stylistic errors in C source files
-.SH SYNOPSIS
-\fBcstyle [-chpvCP] [-o constructs] [file...]\fP
-.SH DESCRIPTION
-.LP
-.I cstyle
-inspects C source files (*.c and *.h) for common stylistic errors.  It
-attempts to check for the cstyle documented in
-\fIcstyle.ms.pdf\fP.  Note that there is much
-in that document that
-.I cannot
-be checked for; just because your code is \fBcstyle(1ONBLD)\fP clean does not
-mean that you've followed illumos C style.  \fICaveat emptor\fP.
-.SH OPTIONS
-.LP
-The following options are supported:
-.TP 4
-.B \-c
-Check continuation line indentation inside of functions.  illumos C style
-states that all statements must be indented to an appropriate tab stop,
-and any continuation lines after them must be indented \fIexactly\fP four
-spaces from the start line.  This option enables a series of checks
-designed to find continuation line problems within functions only.  The
-checks have some limitations;  see CONTINUATION CHECKING, below.
-.TP 4
-.B \-h
-Performs heuristic checks that are sometimes wrong.  Not generally used.
-.TP 4
-.B \-p
-Performs some of the more picky checks.  Includes ANSI #else and #endif
-rules, and tries to detect spaces after casts.  Used as part of the
-putback checks.
-.TP 4
-.B \-v
-Verbose output;  includes the text of the line of error, and, for
-\fB-c\fP, the first statement in the current continuation block.
-.TP 4
-.B \-C
-Ignore errors in header comments (i.e. block comments starting in the
-first column).  Not generally used.
-.TP 4
-.B \-P
-Check for use of non-POSIX types.  Historically, types like "u_int" and
-"u_long" were used, but they are now deprecated in favor of the POSIX
-types uint_t, ulong_t, etc.  This detects any use of the deprecated
-types.  Used as part of the putback checks.
-.TP 4
-.B \-o \fIconstructs\fP
-Allow a comma-separated list of additional constructs.  Available
-constructs include:
-.TP 10
-.B doxygen
-Allow doxygen-style block comments (\fB/**\fP and \fB/*!\fP)
-.TP 10
-.B splint
-Allow splint-style lint comments (\fB/*@...@*/\fP)
-.SH NOTES
-.LP
-The cstyle rule for the illumos gate is that all new files must
-be \fB-pP\fP clean.  For existing files, the following invocations are
-run against both the old and new files:
-.TP 4
-\fBcstyle file\fB
-.TP 4
-\fBcstyle -p file\fB
-.TP 4
-\fBcstyle -pP file\fB
-.LP
-If the old file gave no errors for one of the invocations, the new file
-must also give no errors.  This way, files can only become more clean.
-.SH CONTINUATION CHECKING
-.LP
-The continuation checker is a reasonably simple state machine that knows
-something about how C is layed out, and can match parenthesis, etc. over
-multiple lines.  It does have some limitations:
-.TP 4
-.B 1.
-Preprocessor macros which cause unmatched parenthesis will confuse the
-checker for that line.  To fix this, you'll need to make sure that each
-branch of the #if statement has balanced parenthesis.
-.TP 4
-.B 2.
-Some \fBcpp\fP macros do not require ;s after them.  Any such macros
-*must* be ALL_CAPS; any lower case letters will cause bad output.
-.LP
-The bad output will generally be corrected after the next \fB;\fP,
-\fB{\fP, or \fB}\fP.
-.LP
-Some continuation error messages deserve some additional explanation
-.TP 4
-.B
-multiple statements continued over multiple lines
-A multi-line statement which is not broken at statement
-boundries.  For example:
-.RS 4
-.HP 4
-if (this_is_a_long_variable == another_variable) a =
-.br
-b + c;
-.LP
-Will trigger this error.  Instead, do:
-.HP 8
-if (this_is_a_long_variable == another_variable)
-.br
-a = b + c;
-.RE
-.TP 4
-.B
-empty if/for/while body not on its own line
-For visibility, empty bodies for if, for, and while statements should be
-on their own line.  For example:
-.RS 4
-.HP 4
-while (do_something(&x) == 0);
-.LP
-Will trigger this error.  Instead, do:
-.HP 8
-while (do_something(&x) == 0)
-.br
-;
-.RE
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/find_elf.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,218 @@
+.\" Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.TH FIND_ELF 1ONBLD "Mar 25, 2010"
+.SH NAME
+find_elf \- Locate ELF shared objects and executables
+.SH SYNOPSIS
+\fBfind_elf [-afrs] path\fP
+.SH DESCRIPTION
+The
+.I find_elf
+command descends a directory hierarchy and produces one line
+of output on stdout for each ELF executable or shared object found.
+.SH OPTIONS
+.LP
+The following options are supported:
+.TP 4
+.B \-a
+Disable alias processing. Symbolic links are treated as independent
+files, each such link results in a separate OBJECT output line,
+and ALIAS lines are not issued.
+.TP 4
+.B \-f
+Fast Mode. When reading directories, the file name and modes are
+used to eliminate files from consideration and speed up the search:
+Directories with names that start with a '.' character are skipped.
+Executables must have the execute bit set, and
+shared objects must end with a .so extension. Files that do not
+meet these requirements are silently eliminated from consideration without
+further analysis.
+.TP 4
+.B \-r
+Report file names as relative paths, relative to the given file or directory,
+instead of fully qualified.
+.TP 4
+.B \-s
+Only report shared objects.
+.SH OUTPUT
+.LP
+.I find_elf
+produces a series of PREFIX, OBJECT, and ALIAS lines, which collectively
+describe the ELF objects located. Whitespace is used within each
+line to delimit the various fields of information provided.
+.P
+If the \fB-r\fP option is used to specify that file names be reported
+as relative paths, a PREFIX line is output to provide the base path from
+which the relative names should be interpreted.
+There can only be one PREFIX line, and it is output first, before any
+OBJECT or ALIAS lines.
+.sp
+.in +4
+.nf
+PREFIX path
+.fi
+.in -4
+.sp
+For each object found, an OBJECT line is produced to describe it:
+.sp
+.in +4
+.nf
+OBJECT [32 | 64] [DYN | EXEC | PIE] [VERDEF | NOVERDEF] object-path
+.fi
+.in -4
+.sp
+The first field provides the ELF class of the object, and will be either 32 or
+64.  The second field provides the type of object, either a shared library
+(DYN), a Position Independent Executable (PIE) or executable (EXEC).  The
+third field will be VERDEF if the object contains ELF version definitions, and
+NOVERDEF if the object is not versioned.  The final field gives the path to
+the object.
+.P
+Under Unix, a file can have multiple names. In the context of ELF
+objects, this often happens for one of two reasons:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Compilation symlinks, used to provide a non-versioned name for a shared object.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Symlinks such as '32' and '64' used to provide alternative
+non-machine specific paths to objects.
+.RE
+.sp
+When
+.I find_elf
+identifies an object via such an aliased name, it issues an ALIAS line
+mapping it to the main name for the object:
+.sp
+.in +4
+.nf
+ALIAS object-path alias-path
+.fi
+.in -4
+.sp
+The \fB-a\fP option alters the handling of aliased names. When \fB-a\fP is
+specified, each file results in a separate OBJECT line, as if they were
+independent files rather than the same file with different names.
+.sp
+.SH EXAMPLES
+Assume the following hierarchy of files exist under /usr/lib/foo:
+.sp
+.in +4
+.nf
+% /bin/ls -alRF /usr/lib/foo
+/usr/lib/foo:
+total 111
+drwxr-xr-x  3 root root    7 Jul 16 17:35 ./
+drwxr-xr-x 34 root root   42 Jul 16 17:34 ../
+lrwxrwxrwx  1 root bin     1 Jul 16 17:34 32 -> ./
+lrwxrwxrwx  1 root bin     5 Jul 16 17:34 64 -> amd64/
+drwxr-xr-x  2 root bin     4 Jul 16 17:35 amd64/
+lrwxrwxrwx  1 root bin    11 Jul 16 17:35 libfoo.so -> libfoo.so.1*
+-rwxr-xr-x  1 root bin 49132 Jul 16 17:35 libfoo.so.1*
+
+/usr/lib/foo/amd64:
+total 150
+drwxr-xr-x  2 root root   4 Jul 16 17:35 ./
+drwxr-xr-x  3 root root   7 Jul 16 17:35 ../
+lrwxrwxrwx  1 root bin    11 Jul 16 17:35 libfoo.so -> libfoo.so.1*
+-rwxr-xr-x  1 root bin 72536 Jul 16 17:35 libfoo.so.1*
+.fi
+.in -4
+.sp
+This hierarchy contains compilation symlinks (libfoo.so) and
+path alias symlinks (32, 64), as discussed in OUTPUT.
+.P
+.I find_elf
+produces the following output for the above hierarchy:
+.sp
+.in +4
+.nf
+% find_elf -r /usr/lib/foo
+PREFIX /usr/lib/foo
+OBJECT 64 DYN  VERDEF  amd64/libfoo.so.1
+ALIAS                  amd64/libfoo.so.1  64/libfoo.so
+ALIAS                  amd64/libfoo.so.1  64/libfoo.so.1
+ALIAS                  amd64/libfoo.so.1  amd64/libfoo.so
+OBJECT 32 DYN  VERDEF  libfoo.so.1
+ALIAS                  libfoo.so.1        32/libfoo.so
+ALIAS                  libfoo.so.1        32/libfoo.so.1
+ALIAS                  libfoo.so.1        libfoo.so
+.fi
+.in -4
+.sp
+Contrast this with the output when \fB-a\fP is used to treat
+each name as an independent file:
+.sp
+.in +4
+.nf
+% find_elf -ar /usr/lib/foo
+PREFIX /usr/lib/foo
+OBJECT 32 DYN  VERDEF  32/libfoo.so
+OBJECT 32 DYN  VERDEF  32/libfoo.so.1
+OBJECT 64 DYN  VERDEF  64/libfoo.so
+OBJECT 64 DYN  VERDEF  64/libfoo.so.1
+OBJECT 64 DYN  VERDEF  amd64/libfoo.so.1
+OBJECT 64 DYN  VERDEF  amd64/libfoo.so
+OBJECT 32 DYN  VERDEF  libfoo.so.1
+OBJECT 32 DYN  VERDEF  libfoo.so
+.fi
+.in -4
+.sp
+When
+.I find_elf
+is used to process an alias for which no target object is given,
+there will be no output. For example, using /lib/libc.so, which
+is a compilation symlink for /lib/libc.so.1:
+.sp
+.in +4
+.nf
+% find_elf /lib/libc.so
+.fi
+.in -4
+.sp
+In such situations, the \fB-a\fP option can be used to produce
+the desired output:
+.sp
+.in +4
+.nf
+% find_elf -a /lib/libc.so
+OBJECT 32 DYN  VERDEF   /lib/libc.so
+.fi
+.in -4
+.sp
+.PP
+.RS
+.nf
+.SH SEE ALSO
+.BR check_rtime (1ONBLD),
+.BR interface_check (1ONBLD),
+.BR interface_cmp (1ONBLD),
+.BR ld (1),
+.BR ldd (1),
+.BR elfdump (1),
+.BR pvs (1).
+
--- a/usr/src/tools/scripts/find_elf.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-.\" Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
-.\"
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.TH FIND_ELF 1ONBLD "Mar 25, 2010"
-.SH NAME
-find_elf \- Locate ELF shared objects and executables
-.SH SYNOPSIS
-\fBfind_elf [-afrs] path\fP
-.SH DESCRIPTION
-The
-.I find_elf
-command descends a directory hierarchy and produces one line
-of output on stdout for each ELF executable or shared object found.
-.SH OPTIONS
-.LP
-The following options are supported:
-.TP 4
-.B \-a
-Disable alias processing. Symbolic links are treated as independent
-files, each such link results in a separate OBJECT output line,
-and ALIAS lines are not issued.
-.TP 4
-.B \-f
-Fast Mode. When reading directories, the file name and modes are
-used to eliminate files from consideration and speed up the search:
-Directories with names that start with a '.' character are skipped.
-Executables must have the execute bit set, and
-shared objects must end with a .so extension. Files that do not
-meet these requirements are silently eliminated from consideration without
-further analysis.
-.TP 4
-.B \-r
-Report file names as relative paths, relative to the given file or directory,
-instead of fully qualified.
-.TP 4
-.B \-s
-Only report shared objects.
-.SH OUTPUT
-.LP
-.I find_elf
-produces a series of PREFIX, OBJECT, and ALIAS lines, which collectively
-describe the ELF objects located. Whitespace is used within each
-line to delimit the various fields of information provided.
-.P
-If the \fB-r\fP option is used to specify that file names be reported
-as relative paths, a PREFIX line is output to provide the base path from
-which the relative names should be interpreted.
-There can only be one PREFIX line, and it is output first, before any
-OBJECT or ALIAS lines.
-.sp
-.in +4
-.nf
-PREFIX path
-.fi
-.in -4
-.sp
-For each object found, an OBJECT line is produced to describe it:
-.sp
-.in +4
-.nf
-OBJECT [32 | 64] [DYN | EXEC | PIE] [VERDEF | NOVERDEF] object-path
-.fi
-.in -4
-.sp
-The first field provides the ELF class of the object, and will be either 32 or
-64.  The second field provides the type of object, either a shared library
-(DYN), a Position Independent Executable (PIE) or executable (EXEC).  The
-third field will be VERDEF if the object contains ELF version definitions, and
-NOVERDEF if the object is not versioned.  The final field gives the path to
-the object.
-.P
-Under Unix, a file can have multiple names. In the context of ELF
-objects, this often happens for one of two reasons:
-.RS +4
-.TP
-.ie t \(bu
-.el o
-Compilation symlinks, used to provide a non-versioned name for a shared object.
-.RE
-.RS +4
-.TP
-.ie t \(bu
-.el o
-Symlinks such as '32' and '64' used to provide alternative
-non-machine specific paths to objects.
-.RE
-.sp
-When
-.I find_elf
-identifies an object via such an aliased name, it issues an ALIAS line
-mapping it to the main name for the object:
-.sp
-.in +4
-.nf
-ALIAS object-path alias-path
-.fi
-.in -4
-.sp
-The \fB-a\fP option alters the handling of aliased names. When \fB-a\fP is
-specified, each file results in a separate OBJECT line, as if they were
-independent files rather than the same file with different names.
-.sp
-.SH EXAMPLES
-Assume the following hierarchy of files exist under /usr/lib/foo:
-.sp
-.in +4
-.nf
-% /bin/ls -alRF /usr/lib/foo
-/usr/lib/foo:
-total 111
-drwxr-xr-x  3 root root    7 Jul 16 17:35 ./
-drwxr-xr-x 34 root root   42 Jul 16 17:34 ../
-lrwxrwxrwx  1 root bin     1 Jul 16 17:34 32 -> ./
-lrwxrwxrwx  1 root bin     5 Jul 16 17:34 64 -> amd64/
-drwxr-xr-x  2 root bin     4 Jul 16 17:35 amd64/
-lrwxrwxrwx  1 root bin    11 Jul 16 17:35 libfoo.so -> libfoo.so.1*
--rwxr-xr-x  1 root bin 49132 Jul 16 17:35 libfoo.so.1*
-
-/usr/lib/foo/amd64:
-total 150
-drwxr-xr-x  2 root root   4 Jul 16 17:35 ./
-drwxr-xr-x  3 root root   7 Jul 16 17:35 ../
-lrwxrwxrwx  1 root bin    11 Jul 16 17:35 libfoo.so -> libfoo.so.1*
--rwxr-xr-x  1 root bin 72536 Jul 16 17:35 libfoo.so.1*
-.fi
-.in -4
-.sp
-This hierarchy contains compilation symlinks (libfoo.so) and
-path alias symlinks (32, 64), as discussed in OUTPUT.
-.P
-.I find_elf
-produces the following output for the above hierarchy:
-.sp
-.in +4
-.nf
-% find_elf -r /usr/lib/foo
-PREFIX /usr/lib/foo
-OBJECT 64 DYN  VERDEF  amd64/libfoo.so.1
-ALIAS                  amd64/libfoo.so.1  64/libfoo.so
-ALIAS                  amd64/libfoo.so.1  64/libfoo.so.1
-ALIAS                  amd64/libfoo.so.1  amd64/libfoo.so
-OBJECT 32 DYN  VERDEF  libfoo.so.1
-ALIAS                  libfoo.so.1        32/libfoo.so
-ALIAS                  libfoo.so.1        32/libfoo.so.1
-ALIAS                  libfoo.so.1        libfoo.so
-.fi
-.in -4
-.sp
-Contrast this with the output when \fB-a\fP is used to treat
-each name as an independent file:
-.sp
-.in +4
-.nf
-% find_elf -ar /usr/lib/foo
-PREFIX /usr/lib/foo
-OBJECT 32 DYN  VERDEF  32/libfoo.so
-OBJECT 32 DYN  VERDEF  32/libfoo.so.1
-OBJECT 64 DYN  VERDEF  64/libfoo.so
-OBJECT 64 DYN  VERDEF  64/libfoo.so.1
-OBJECT 64 DYN  VERDEF  amd64/libfoo.so.1
-OBJECT 64 DYN  VERDEF  amd64/libfoo.so
-OBJECT 32 DYN  VERDEF  libfoo.so.1
-OBJECT 32 DYN  VERDEF  libfoo.so
-.fi
-.in -4
-.sp
-When
-.I find_elf
-is used to process an alias for which no target object is given,
-there will be no output. For example, using /lib/libc.so, which
-is a compilation symlink for /lib/libc.so.1:
-.sp
-.in +4
-.nf
-% find_elf /lib/libc.so
-.fi
-.in -4
-.sp
-In such situations, the \fB-a\fP option can be used to produce
-the desired output:
-.sp
-.in +4
-.nf
-% find_elf -a /lib/libc.so
-OBJECT 32 DYN  VERDEF   /lib/libc.so
-.fi
-.in -4
-.sp
-.PP
-.RS
-.nf
-.SH SEE ALSO
-.BR check_rtime (1ONBLD),
-.BR interface_check (1ONBLD),
-.BR interface_cmp (1ONBLD),
-.BR ld (1),
-.BR ldd (1),
-.BR elfdump (1),
-.BR pvs (1).
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/git-pbchk.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,96 @@
+'\" t
+.\"
+.\" This file and its contents are supplied under the terms of the
+.\" Common Development and Distribution License ("CDDL"), version 1.0.
+.\" You may only use this file in accordance with the terms of version
+.\" 1.0 of the CDDL.
+.\"
+.\" A full copy of the text of the CDDL should have accompanied this
+.\" source.  A copy of the CDDL is also available via the Internet at
+.\" http://www.illumos.org/license/CDDL.
+.\"
+.\"
+.\" Copyright 2011 Richard Lowe.
+.\" Copyright 2015 Elysium Digital, L.L.C.
+.\"
+
+.TH "GIT\-PBCHK" "1ONBLD" "April 23, 2015" "" ""
+
+.SH "NAME"
+\fBgit\-pbchk\fR \- nits and pre\-putback checks for git
+
+.SH "SYNOPSIS"
+git\-pbchk [\-b \fIbranch\fR]
+
+.P
+git\-nits [\-b \fIbranch\fR]
+
+.SH "DESCRIPTION"
+Check your workspace for common nits and putback\-ending mistakes, a simple set of checks are run over various parts of your workspace and errors encountered are reported, all of which should, generally, be fixed\.
+
+.TP
+Comment format
+Check that putback comments follow the prescribed format (only run for pbchk)
+
+.TP
+Copyrights
+Check that each source file contains a copyright notice for the current
+year\. You don't need to fix this if you, the potential new copyright holder, chooses not to
+
+.TP
+C style
+Check that C source files conform to the Illumos C style rules
+
+.TP
+Header check
+Check that C header files conform to the Illumos header style rules (in addition to the general C rules)
+
+.TP
+Java style
+Check that Java source files conform to the Illumos Java style rules (which differ from the traditionally recommended Java style)
+
+.TP
+SCCS Keywords
+Check that no source files contain unexpanded SCCS keywords\. It is possible that this check may false positive on certain inputs\. It is generally obvious when this is the case\.
+
+.IP
+This check does not check for expanded SCCS keywords, though the common \'ident\'\-style lines should be removed regardless of whether they are expanded\.
+
+.TP
+Mapfile check
+Check that linker mapfiles contain a comment directing anyone editing to read the directions in \fBusr/lib/README\.mapfiles\fR\.
+
+.SH "OPTIONS"
+
+.TP
+\fB\-b branch\fR:
+
+.IP
+Compare the current workspace to /branch/ for the purposes of generating file and comment lists\.
+
+.IP
+If this option is not specified an attempt is made to determine this automatically, if the git branch configuration contains this information\.
+
+.IP
+If no branch is specified and none can be determined automatically \fBorigin/master\fR is used\.
+
+.SH "FILES"
+\fBgit nits\fR and \fBgit pbchk\fR support NOT files of the form used by Cadmium with Mercurial\. These are looked for in \fB$SRCTOP/\.git/\fR and in \fB$SRCTOP/exception_lists/\fR as normal\. The files are named after the check from which they exclude files\.
+
+.IP "\(bu" 4
+\fBcopyright\.NOT\fR: exclude files listed from copyright checking
+
+.IP "\(bu" 4
+\fBcstyle\.NOT\fR: exclude files from the C style check
+
+.IP "\(bu" 4
+\fBhdrchk\.NOT\fR: exclude files from the C header style check
+
+.IP "\(bu" 4
+\fBkeywords\.NOT\fR: exclude files from the SCCS keywords check
+
+.IP "\(bu" 4
+\fBmapfilechk\.NOT\fR: exclude files from the linker mapfile check
+
+.IP "" 0
+
--- a/usr/src/tools/scripts/git-pbchk.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-'\" t
-.\"
-.\" This file and its contents are supplied under the terms of the
-.\" Common Development and Distribution License ("CDDL"), version 1.0.
-.\" You may only use this file in accordance with the terms of version
-.\" 1.0 of the CDDL.
-.\"
-.\" A full copy of the text of the CDDL should have accompanied this
-.\" source.  A copy of the CDDL is also available via the Internet at
-.\" http://www.illumos.org/license/CDDL.
-.\"
-.\"
-.\" Copyright 2011 Richard Lowe.
-.\" Copyright 2015 Elysium Digital, L.L.C.
-.\"
-
-.TH "GIT\-PBCHK" "1ONBLD" "April 23, 2015" "" ""
-
-.SH "NAME"
-\fBgit\-pbchk\fR \- nits and pre\-putback checks for git
-
-.SH "SYNOPSIS"
-git\-pbchk [\-b \fIbranch\fR]
-
-.P
-git\-nits [\-b \fIbranch\fR]
-
-.SH "DESCRIPTION"
-Check your workspace for common nits and putback\-ending mistakes, a simple set of checks are run over various parts of your workspace and errors encountered are reported, all of which should, generally, be fixed\.
-
-.TP
-Comment format
-Check that putback comments follow the prescribed format (only run for pbchk)
-
-.TP
-Copyrights
-Check that each source file contains a copyright notice for the current
-year\. You don't need to fix this if you, the potential new copyright holder, chooses not to
-
-.TP
-C style
-Check that C source files conform to the Illumos C style rules
-
-.TP
-Header check
-Check that C header files conform to the Illumos header style rules (in addition to the general C rules)
-
-.TP
-Java style
-Check that Java source files conform to the Illumos Java style rules (which differ from the traditionally recommended Java style)
-
-.TP
-SCCS Keywords
-Check that no source files contain unexpanded SCCS keywords\. It is possible that this check may false positive on certain inputs\. It is generally obvious when this is the case\.
-
-.IP
-This check does not check for expanded SCCS keywords, though the common \'ident\'\-style lines should be removed regardless of whether they are expanded\.
-
-.TP
-Mapfile check
-Check that linker mapfiles contain a comment directing anyone editing to read the directions in \fBusr/lib/README\.mapfiles\fR\.
-
-.SH "OPTIONS"
-
-.TP
-\fB\-b branch\fR:
-
-.IP
-Compare the current workspace to /branch/ for the purposes of generating file and comment lists\.
-
-.IP
-If this option is not specified an attempt is made to determine this automatically, if the git branch configuration contains this information\.
-
-.IP
-If no branch is specified and none can be determined automatically \fBorigin/master\fR is used\.
-
-.SH "FILES"
-\fBgit nits\fR and \fBgit pbchk\fR support NOT files of the form used by Cadmium with Mercurial\. These are looked for in \fB$SRCTOP/\.git/\fR and in \fB$SRCTOP/exception_lists/\fR as normal\. The files are named after the check from which they exclude files\.
-
-.IP "\(bu" 4
-\fBcopyright\.NOT\fR: exclude files listed from copyright checking
-
-.IP "\(bu" 4
-\fBcstyle\.NOT\fR: exclude files from the C style check
-
-.IP "\(bu" 4
-\fBhdrchk\.NOT\fR: exclude files from the C header style check
-
-.IP "\(bu" 4
-\fBkeywords\.NOT\fR: exclude files from the SCCS keywords check
-
-.IP "\(bu" 4
-\fBmapfilechk\.NOT\fR: exclude files from the linker mapfile check
-
-.IP "" 0
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/hdrchk.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,89 @@
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.TH HDRCHK 1ONBLD "Jul 02, 2008"
+.SH NAME
+hdrchk \- check that header files conform to ON standards
+.SH SYNOPSIS
+.nf
+\fBhdrchk\fR [\fB-a\fP] \fIfile\fR [\fIfile ...\fR]\fP
+.fi
+.SH DESCRIPTION
+.LP
+.I hdrchk
+verifies that C header files (*.h) conform to the standards of the ON
+consolidation.
+See HEADER STANDARDS for details.
+.SH OPTIONS
+.TP 10
+.B -a
+Apply (more lenient) application header rules.
+.SH HEADER STANDARDS
+.LP
+Standards for all header files:
+.TP 4
+.B 1.
+Begin with a comment containing a copyright message.
+.TP 4
+.B 2.
+Enclosed in a guard of the form:
+.LP
+.nf
+	#ifndef GUARD
+	#define GUARD
+	#endif /* [!]GUARD */
+.fi
+.sp
+.RS 4n
+The preferred form is without the bang character, but either is
+acceptable.
+.RE
+.TP 4
+.B 3.
+Has a valid ident declaration.
+.LP
+Additional standards for system header files:
+.TP 4
+.B 1.
+The file guard must take the form '_\fBFILENAME\fP_H[_]', where
+\fBFILENAME\fP matches the basename of the file.
+If it is installed in a subdirectory, it should be of the
+form '_\fBDIR\fP_\fBFILENAME\fP_H[_]', though this is not currently enforced.
+The form without the trailing underscore is preferred in both cases.
+.TP 4
+.B 2.
+All #include directives must use the <> form.
+.TP 4
+.B 3.
+If the header file contains anything besides comments and preprocessor
+directives, then it must be enclosed in a C++ guard of the form:
+.LP
+.nf
+	#ifdef __cplusplus
+	extern "C" {
+	#endif
+
+	#ifdef __cplusplus
+	}
+	#endif
+.fi
+
--- a/usr/src/tools/scripts/hdrchk.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.\" Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
-.\" Use is subject to license terms.
-.\"
-.TH HDRCHK 1ONBLD "Jul 02, 2008"
-.SH NAME
-hdrchk \- check that header files conform to ON standards
-.SH SYNOPSIS
-.nf
-\fBhdrchk\fR [\fB-a\fP] \fIfile\fR [\fIfile ...\fR]\fP
-.fi
-.SH DESCRIPTION
-.LP
-.I hdrchk
-verifies that C header files (*.h) conform to the standards of the ON
-consolidation.
-See HEADER STANDARDS for details.
-.SH OPTIONS
-.TP 10
-.B -a
-Apply (more lenient) application header rules.
-.SH HEADER STANDARDS
-.LP
-Standards for all header files:
-.TP 4
-.B 1.
-Begin with a comment containing a copyright message.
-.TP 4
-.B 2.
-Enclosed in a guard of the form:
-.LP
-.nf
-	#ifndef GUARD
-	#define GUARD
-	#endif /* [!]GUARD */
-.fi
-.sp
-.RS 4n
-The preferred form is without the bang character, but either is
-acceptable.
-.RE
-.TP 4
-.B 3.
-Has a valid ident declaration.
-.LP
-Additional standards for system header files:
-.TP 4
-.B 1.
-The file guard must take the form '_\fBFILENAME\fP_H[_]', where
-\fBFILENAME\fP matches the basename of the file.
-If it is installed in a subdirectory, it should be of the
-form '_\fBDIR\fP_\fBFILENAME\fP_H[_]', though this is not currently enforced.
-The form without the trailing underscore is preferred in both cases.
-.TP 4
-.B 2.
-All #include directives must use the <> form.
-.TP 4
-.B 3.
-If the header file contains anything besides comments and preprocessor
-directives, then it must be enclosed in a C++ guard of the form:
-.LP
-.nf
-	#ifdef __cplusplus
-	extern "C" {
-	#endif
-
-	#ifdef __cplusplus
-	}
-	#endif
-.fi
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/interface_check.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,379 @@
+.\" Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.TH INTERFACE_CHECK 1ONBLD "Mar 25, 2010"
+.SH NAME
+interface_check \- check shared object interfaces
+.SH SYNOPSIS
+\fBinterface_check [-hIo] [-c vertype_module] [-E errfile] [-e exfile] [-f listfile] [-i intffile] [-w outdir] file | dir, ...\fP
+.SH DESCRIPTION
+The
+.I interface_check
+command attempts to check a number of ELF versioning attributes
+for consistency with common build rules and practices.
+In addition, a complete breakdown of the file's version definitions can
+be captured using the
+.B -i
+option, and the interface description file created can be used with
+.I interface_cmp
+to audit
+the versioning evolution of a software product.
+These interface description files reflect the association of the shared
+object's global symbols with recorded version definitions.
+.LP
+.I interface_check
+is typically called from \fBnightly(1ONBLD)\fP when the \fB-A\fP
+option is in effect. In this case the shared objects under
+the associated \fIproto\fP area (\fB$ROOT\fP) are examined.
+.I interface_check
+can also be run standalone against any set of dynamic objects.
+.LP
+.I interface_check
+uses \fBelfdump(1)\fP and \fBpvs(1)\fP to
+check file naming standardization, and versioning consistency. These
+check are carried out for the following reasons:
+.TP 4
+\(bu
+A shared object should exist with a versioned filename.
+A versioned filename commonly takes the form of a \fI.so\fP suffix
+followed by a version number. For example, \fI/usr/lib/libc.so.1\fP
+is the shared object representation of version one of the standard C
+library made available to the runtime environment.
+A versioned filename allows for a change in the exported interface of
+the shared object over a series of software releases.  A shared object
+that doesn't exist as a versioned filename is displayed as:
+.sp
+.RS 6
+foo.so: does not have a versioned name
+.RE
+.TP
+\(bu
+Versions should be defined within a shared object both to clarify its
+public or private use, and to explicitly define the interfaces that it
+makes available.  The reduction in object size, and relocation cost
+created by reducing non-interface symbols to locals is an added bonus.
+A non-versioned shared object is displayed as:
+.sp
+.RS 6
+foo.so.1: no versions found
+.RE
+.TP
+\(bu
+Version definitions should follow a standard naming convention, i.e.,
+\fBSUNW_\fIx.y\fP\fP, \fBSUNWprivate_\fIx.y\fP\fP, or \fIfilename\fP.  The
+latter version is a base version and is used to capture any reserved
+interface symbols (i.e., \fI_end\fP, \fI_etext\fP, etc.).  Any non-conforming
+version names are displayed as:
+.sp
+.RS 6
+foo.so.1: non-standard version name: \fIversion-name\fP
+.RE
+.sp
+.RS 4
+Note, that non-conforming base version names are often generated when
+the file itself has an internal identification that differs from the
+actual filename (see \fBld(1)\fP \fI-h\fP).
+.RE
+.TP
+\(bu
+A scoped object, one that has defined its external interfaces
+and whose internal interfaces have been reduced to locals,
+but has no version definitions assigned, does not inform users
+of the commitment level of the interfaces it offers. Scoped
+objects are displayed as:
+.sp
+.RS 6
+foo.so.1: scoped object contains no versions
+.LP
+When used with the \fI-i\fP option
+.I interface_check
+produces a more detailed breakdown of a shared objects versioning.
+This interface description file provides for the release-to-release
+auditing of interfaces,
+and monitoring the evolution of the share objects interfaces.
+.LP
+These files provide a complete cross reference of version to interface
+relationships and are the basis for
+auditing a shared objects interfaces from release-to-release.  Any
+addition, deletion or regrouping of versioning information can be
+detected by inspecting this database with
+.I interface_cmp.
+.sp
+.SH OPTIONS
+.LP
+The following options are supported:
+.TP 4
+.B \-c vertype_module
+By default,
+.I interface_check
+is customized for the versioning conventions used by the Solaris
+OSnet code base. This specialized information, which includes
+the recognition of the SUNW_ prefix and other special names, is
+contained in a perl module named onbld_elfmod_vertype.pm, which
+is delivered with the SUNWonbld tools. This module is loaded by
+.I interface_check
+at runtime. The \fB-c\fP option can be used to supply
+an alternative module, customized for a different code base, allowing
+.I interface_check
+to operate on code from other projects. The alternative module must
+supply the same module and calling interfaces as the standard module.
+.TP 4
+.B \-E errfile
+Direct error messages for the analyzed objects to \fIerrfile\fP instead
+of stdout.
+.TP 4
+.B \-e exfile
+An exception file is used to exclude objects from
+the usual rules. See EXCEPTION FILE FORMAT.
+.TP 4
+.B \-f listfile
+Normally,
+.I interface_check
+runs
+.I find_elf
+to locate the ELF objects to analyze. The \fB-f\fP option can be
+used to instead provide a file containing the list of objects to
+analyze, in the format produced by '\fBfind_elf -r\fP'.
+.TP 4
+.B \-h
+Prevent the generation of the CDDL license and Sun copyright header
+normally produced at the start of output.
+.TP 4
+.B \-I
+When used with the \fB-i\fP option, the interface definition produced shows
+expanded symbol inheritance. Each version lists the symbols inherited
+from sub-versions. This mode is primarily of interest for debugging,
+as it matches the format produced by the \fB-t\fP option to
+.I interface_cmp. See INTERFACE DESCRIPTION FILE FORMAT.
+.TP 4
+.B \-i intffile
+Produce an output file containing a complete interface definition for
+the objects analyzed. This file can be used with
+.I interface_cmp
+to audit versioning between gates, or prior to integration within
+a single gate. See INTERFACE DESCRIPTION FILE FORMAT.
+.TP 4
+.B \-o
+Produce one-liner output, with each line of diagnostic output
+prefixed with the object pathname.
+.TP
+.B -w outdir
+Interpret the paths of all input and output files relative to \fIoutdir\fP.
+.SH EXCEPTION FILE FORMAT
+Exceptions to the rules enforced by
+.I interface_check
+are be specified using an exception file. The \fB-e\fP option is used to
+specify an explicit exception file. Otherwise, if used in an activated
+workspace, the default exception file is
+$SRCTOP/exception_list/interface_check
+if that file exists. If not used in an activated workspace, or if
+$SRCTOP/exception_list/interface_check does not exist,
+.I interface_check
+will use
+.I /opt/onbld/etc/exception_list/interface_check
+as a fallback default exception file.
+.P
+To run
+.I interface_check
+without applying exceptions, specify \fB-e\fP with a value of /dev/null.
+.P
+A '#' character at the beginning of a line, or at any point in
+a line when preceded by whitespace, introduces a comment. Empty lines,
+and lines containing only comments, are ignored by
+.I interface_check.
+Exceptions are specified as space separated keyword, and \fBperl(1)\fP
+regular expression:
+.sp
+.in +4
+.nf
+keyword  perl-regex
+.fi
+.in -4
+.sp
+Since whitespace is used as a separator, the regular
+expression cannot itself contain whitespace. Use of the \\s character
+class to represent whitespace within the regular expression is recommended.
+Before the perl regular expression is used, constructs of the form
+MACH(dir) are expanded into a regular expression that matches the directory
+given, as well as any 64-bit architecture subdirectory that
+might be present (i.e. amd64, sparcv9). For instance, MACH(lib) will
+match any of the following:
+.sp
+.in +4
+.nf
+lib
+lib/amd64
+lib/sparcv9
+.fi
+.in -4
+.sp
+The exceptions understood by
+.I interface_check
+are:
+.sp
+.ne 2
+.na
+\fBNONSTD_VERNAME\fR
+.ad
+.RS 17n
+.sp
+Objects that are allowed to deviate from our standard version names.
+.RE
+
+.sp
+.ne 2
+.na
+\fBNOVERDEF\fR
+.ad
+.RS 17n
+Objects that are not expected to contain versioning information.
+Note that PLUGIN objects are automatically exempt from this,
+so these directives are generally applied to non-plugin objects
+.RE
+
+.sp
+.ne 2
+.na
+\fBPLUGIN\fR
+.ad
+.RS 17n
+Sharable objects underneath these parts of the tree are taken to be plugins.
+Plugins are not required to have versioned file names, and are not required
+to be internally versioned.
+.RE
+.SH INTERFACE DESCRIPTION FILE FORMAT
+When the \fB-i\fP option is used
+.I interface_check
+produces an \fIInterface Description File\fP that captures a description of
+the interfaces provided by each ELF object processed.
+.P
+Unless the \fB-h\fP option is used,
+.I interface_check
+produces a header comment at the start of this file, containing a CDDL
+block and a Sun copyright notice. The header uses '#' as a comment character
+for the lines containing text, and also includes empty lines.
+.P
+Following the header comment,
+.I interface_check
+produces a description of the interfaces provided by each object. The
+description of each object starts with an OBJECT directive, and follows the
+form shown below, using /lib/amd64/libadm.so.1 as an example:
+.sp
+.in +4
+.nf
+OBJECT	lib/amd64/libadm.so.1
+CLASS	ELFCLASS64
+TYPE	ET_DYN
+ALIAS	lib/64/libadm.so
+ALIAS	lib/64/libadm.so.1
+ALIAS	lib/amd64/libadm.so
+ALIAS	usr/lib/64/libadm.so
+ALIAS	usr/lib/64/libadm.so.1
+ALIAS	usr/lib/amd64/libadm.so
+ALIAS	usr/lib/amd64/libadm.so.1
+TOP_VERSION	SUNW_1.2	{SUNW_1.1}
+	SYMBOL	read_extvtoc
+	SYMBOL	write_extvtoc
+VERSION	SUNW_1.1	{SUNW_0.7}
+VERSION	SUNW_0.7
+	SYMBOL	pkgdir
+	SYMBOL	read_vtoc
+	SYMBOL	write_vtoc
+.fi
+.in -4
+.sp
+The description for every object starts with OBJECT, CLASS, and TYPE
+directives. Following that come ALIAS lines for every alternative name
+by which this object is known. Every version exported by the object
+is designated by a VERSION or TOP_VERSION directive. A TOP_VERSION is
+a version at the top of the version inheritance chain, and VERSION
+is used for versions lower in the chain. Inherited versions are shown
+within {} brackets following the version name. Following each version directive
+are SYMBOL directives, each describing a symbol defined by
+that version.
+.P
+When the \fB-I\fP option is used, version inheritance is expanded,
+such that each version includes the symbols inherited from sub-versions.
+In this mode, the SYMBOL directive is replaced with NEW for symbols
+defined in the version, and INHERIT for those that are inherited. Using
+\fB-I\fP for the above example produces the following output:
+.sp
+.in +4
+.nf
+OBJECT  lib/amd64/libadm.so.1
+CLASS   ELFCLASS64
+TYPE    ET_DYN
+ALIAS   lib/64/libadm.so
+ALIAS   lib/64/libadm.so.1
+ALIAS   lib/amd64/libadm.so
+ALIAS   usr/lib/64/libadm.so
+ALIAS   usr/lib/64/libadm.so.1
+ALIAS   usr/lib/amd64/libadm.so
+ALIAS   usr/lib/amd64/libadm.so.1
+TOP_VERSION     SUNW_1.2        {SUNW_1.1}
+        INHERIT pkgdir
+        NEW     read_extvtoc
+        INHERIT read_vtoc
+        NEW     write_extvtoc
+        INHERIT write_vtoc
+VERSION SUNW_1.1        {SUNW_0.7}
+        INHERIT pkgdir
+        INHERIT read_vtoc
+        INHERIT write_vtoc
+VERSION SUNW_0.7
+        NEW     pkgdir
+        NEW     read_vtoc
+        NEW     write_vtoc
+.fi
+.in -4
+.sp
+The \fB-I\fP option is primary used for debugging
+.I interface_check
+and
+.I interface_cmp.
+.SH EXAMPLES
+The following example uses
+.I interface_check
+to generate an interface database for a workspace:
+.PP
+.RS
+.nf
+% mkdir $SRC/ELF-data.$MACH
+% interface_check -w $SRC/ELF-data.$MACH -E interface.err \ 
+        -i interface $ROOT
+% ls -1R $SRC/ELF
+interface
+interface.err
+.br
+.SH FILES
+.LP
+.RS 5
+$SRCTOP/exception_list/interface_check
+/opt/onbld/etc/exception_list/interface_check
+.SH SEE ALSO
+.BR find_elf(1ONBLD),
+.BR interface_cmp(1ONBLD),
+.BR ld(1),
+.BR ldd(1),
+.BR elfdump(1),
+.BR pvs(1).
+
+
--- a/usr/src/tools/scripts/interface_check.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,379 +0,0 @@
-.\" Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
-.\"
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.TH INTERFACE_CHECK 1ONBLD "Mar 25, 2010"
-.SH NAME
-interface_check \- check shared object interfaces
-.SH SYNOPSIS
-\fBinterface_check [-hIo] [-c vertype_module] [-E errfile] [-e exfile] [-f listfile] [-i intffile] [-w outdir] file | dir, ...\fP
-.SH DESCRIPTION
-The
-.I interface_check
-command attempts to check a number of ELF versioning attributes
-for consistency with common build rules and practices.
-In addition, a complete breakdown of the file's version definitions can
-be captured using the
-.B -i
-option, and the interface description file created can be used with
-.I interface_cmp
-to audit
-the versioning evolution of a software product.
-These interface description files reflect the association of the shared
-object's global symbols with recorded version definitions.
-.LP
-.I interface_check
-is typically called from \fBnightly(1ONBLD)\fP when the \fB-A\fP
-option is in effect. In this case the shared objects under
-the associated \fIproto\fP area (\fB$ROOT\fP) are examined.
-.I interface_check
-can also be run standalone against any set of dynamic objects.
-.LP
-.I interface_check
-uses \fBelfdump(1)\fP and \fBpvs(1)\fP to
-check file naming standardization, and versioning consistency. These
-check are carried out for the following reasons:
-.TP 4
-\(bu
-A shared object should exist with a versioned filename.
-A versioned filename commonly takes the form of a \fI.so\fP suffix
-followed by a version number. For example, \fI/usr/lib/libc.so.1\fP
-is the shared object representation of version one of the standard C
-library made available to the runtime environment.
-A versioned filename allows for a change in the exported interface of
-the shared object over a series of software releases.  A shared object
-that doesn't exist as a versioned filename is displayed as:
-.sp
-.RS 6
-foo.so: does not have a versioned name
-.RE
-.TP
-\(bu
-Versions should be defined within a shared object both to clarify its
-public or private use, and to explicitly define the interfaces that it
-makes available.  The reduction in object size, and relocation cost
-created by reducing non-interface symbols to locals is an added bonus.
-A non-versioned shared object is displayed as:
-.sp
-.RS 6
-foo.so.1: no versions found
-.RE
-.TP
-\(bu
-Version definitions should follow a standard naming convention, i.e.,
-\fBSUNW_\fIx.y\fP\fP, \fBSUNWprivate_\fIx.y\fP\fP, or \fIfilename\fP.  The
-latter version is a base version and is used to capture any reserved
-interface symbols (i.e., \fI_end\fP, \fI_etext\fP, etc.).  Any non-conforming
-version names are displayed as:
-.sp
-.RS 6
-foo.so.1: non-standard version name: \fIversion-name\fP
-.RE
-.sp
-.RS 4
-Note, that non-conforming base version names are often generated when
-the file itself has an internal identification that differs from the
-actual filename (see \fBld(1)\fP \fI-h\fP).
-.RE
-.TP
-\(bu
-A scoped object, one that has defined its external interfaces
-and whose internal interfaces have been reduced to locals,
-but has no version definitions assigned, does not inform users
-of the commitment level of the interfaces it offers. Scoped
-objects are displayed as:
-.sp
-.RS 6
-foo.so.1: scoped object contains no versions
-.LP
-When used with the \fI-i\fP option
-.I interface_check
-produces a more detailed breakdown of a shared objects versioning.
-This interface description file provides for the release-to-release
-auditing of interfaces,
-and monitoring the evolution of the share objects interfaces.
-.LP
-These files provide a complete cross reference of version to interface
-relationships and are the basis for
-auditing a shared objects interfaces from release-to-release.  Any
-addition, deletion or regrouping of versioning information can be
-detected by inspecting this database with
-.I interface_cmp.
-.sp
-.SH OPTIONS
-.LP
-The following options are supported:
-.TP 4
-.B \-c vertype_module
-By default,
-.I interface_check
-is customized for the versioning conventions used by the Solaris
-OSnet code base. This specialized information, which includes
-the recognition of the SUNW_ prefix and other special names, is
-contained in a perl module named onbld_elfmod_vertype.pm, which
-is delivered with the SUNWonbld tools. This module is loaded by
-.I interface_check
-at runtime. The \fB-c\fP option can be used to supply
-an alternative module, customized for a different code base, allowing
-.I interface_check
-to operate on code from other projects. The alternative module must
-supply the same module and calling interfaces as the standard module.
-.TP 4
-.B \-E errfile
-Direct error messages for the analyzed objects to \fIerrfile\fP instead
-of stdout.
-.TP 4
-.B \-e exfile
-An exception file is used to exclude objects from
-the usual rules. See EXCEPTION FILE FORMAT.
-.TP 4
-.B \-f listfile
-Normally,
-.I interface_check
-runs
-.I find_elf
-to locate the ELF objects to analyze. The \fB-f\fP option can be
-used to instead provide a file containing the list of objects to
-analyze, in the format produced by '\fBfind_elf -r\fP'.
-.TP 4
-.B \-h
-Prevent the generation of the CDDL license and Sun copyright header
-normally produced at the start of output.
-.TP 4
-.B \-I
-When used with the \fB-i\fP option, the interface definition produced shows
-expanded symbol inheritance. Each version lists the symbols inherited
-from sub-versions. This mode is primarily of interest for debugging,
-as it matches the format produced by the \fB-t\fP option to
-.I interface_cmp. See INTERFACE DESCRIPTION FILE FORMAT.
-.TP 4
-.B \-i intffile
-Produce an output file containing a complete interface definition for
-the objects analyzed. This file can be used with
-.I interface_cmp
-to audit versioning between gates, or prior to integration within
-a single gate. See INTERFACE DESCRIPTION FILE FORMAT.
-.TP 4
-.B \-o
-Produce one-liner output, with each line of diagnostic output
-prefixed with the object pathname.
-.TP
-.B -w outdir
-Interpret the paths of all input and output files relative to \fIoutdir\fP.
-.SH EXCEPTION FILE FORMAT
-Exceptions to the rules enforced by
-.I interface_check
-are be specified using an exception file. The \fB-e\fP option is used to
-specify an explicit exception file. Otherwise, if used in an activated
-workspace, the default exception file is
-$SRCTOP/exception_list/interface_check
-if that file exists. If not used in an activated workspace, or if
-$SRCTOP/exception_list/interface_check does not exist,
-.I interface_check
-will use
-.I /opt/onbld/etc/exception_list/interface_check
-as a fallback default exception file.
-.P
-To run
-.I interface_check
-without applying exceptions, specify \fB-e\fP with a value of /dev/null.
-.P
-A '#' character at the beginning of a line, or at any point in
-a line when preceded by whitespace, introduces a comment. Empty lines,
-and lines containing only comments, are ignored by
-.I interface_check.
-Exceptions are specified as space separated keyword, and \fBperl(1)\fP
-regular expression:
-.sp
-.in +4
-.nf
-keyword  perl-regex
-.fi
-.in -4
-.sp
-Since whitespace is used as a separator, the regular
-expression cannot itself contain whitespace. Use of the \\s character
-class to represent whitespace within the regular expression is recommended.
-Before the perl regular expression is used, constructs of the form
-MACH(dir) are expanded into a regular expression that matches the directory
-given, as well as any 64-bit architecture subdirectory that
-might be present (i.e. amd64, sparcv9). For instance, MACH(lib) will
-match any of the following:
-.sp
-.in +4
-.nf
-lib
-lib/amd64
-lib/sparcv9
-.fi
-.in -4
-.sp
-The exceptions understood by
-.I interface_check
-are:
-.sp
-.ne 2
-.na
-\fBNONSTD_VERNAME\fR
-.ad
-.RS 17n
-.sp
-Objects that are allowed to deviate from our standard version names.
-.RE
-
-.sp
-.ne 2
-.na
-\fBNOVERDEF\fR
-.ad
-.RS 17n
-Objects that are not expected to contain versioning information.
-Note that PLUGIN objects are automatically exempt from this,
-so these directives are generally applied to non-plugin objects
-.RE
-
-.sp
-.ne 2
-.na
-\fBPLUGIN\fR
-.ad
-.RS 17n
-Sharable objects underneath these parts of the tree are taken to be plugins.
-Plugins are not required to have versioned file names, and are not required
-to be internally versioned.
-.RE
-.SH INTERFACE DESCRIPTION FILE FORMAT
-When the \fB-i\fP option is used
-.I interface_check
-produces an \fIInterface Description File\fP that captures a description of
-the interfaces provided by each ELF object processed.
-.P
-Unless the \fB-h\fP option is used,
-.I interface_check
-produces a header comment at the start of this file, containing a CDDL
-block and a Sun copyright notice. The header uses '#' as a comment character
-for the lines containing text, and also includes empty lines.
-.P
-Following the header comment,
-.I interface_check
-produces a description of the interfaces provided by each object. The
-description of each object starts with an OBJECT directive, and follows the
-form shown below, using /lib/amd64/libadm.so.1 as an example:
-.sp
-.in +4
-.nf
-OBJECT	lib/amd64/libadm.so.1
-CLASS	ELFCLASS64
-TYPE	ET_DYN
-ALIAS	lib/64/libadm.so
-ALIAS	lib/64/libadm.so.1
-ALIAS	lib/amd64/libadm.so
-ALIAS	usr/lib/64/libadm.so
-ALIAS	usr/lib/64/libadm.so.1
-ALIAS	usr/lib/amd64/libadm.so
-ALIAS	usr/lib/amd64/libadm.so.1
-TOP_VERSION	SUNW_1.2	{SUNW_1.1}
-	SYMBOL	read_extvtoc
-	SYMBOL	write_extvtoc
-VERSION	SUNW_1.1	{SUNW_0.7}
-VERSION	SUNW_0.7
-	SYMBOL	pkgdir
-	SYMBOL	read_vtoc
-	SYMBOL	write_vtoc
-.fi
-.in -4
-.sp
-The description for every object starts with OBJECT, CLASS, and TYPE
-directives. Following that come ALIAS lines for every alternative name
-by which this object is known. Every version exported by the object
-is designated by a VERSION or TOP_VERSION directive. A TOP_VERSION is
-a version at the top of the version inheritance chain, and VERSION
-is used for versions lower in the chain. Inherited versions are shown
-within {} brackets following the version name. Following each version directive
-are SYMBOL directives, each describing a symbol defined by
-that version.
-.P
-When the \fB-I\fP option is used, version inheritance is expanded,
-such that each version includes the symbols inherited from sub-versions.
-In this mode, the SYMBOL directive is replaced with NEW for symbols
-defined in the version, and INHERIT for those that are inherited. Using
-\fB-I\fP for the above example produces the following output:
-.sp
-.in +4
-.nf
-OBJECT  lib/amd64/libadm.so.1
-CLASS   ELFCLASS64
-TYPE    ET_DYN
-ALIAS   lib/64/libadm.so
-ALIAS   lib/64/libadm.so.1
-ALIAS   lib/amd64/libadm.so
-ALIAS   usr/lib/64/libadm.so
-ALIAS   usr/lib/64/libadm.so.1
-ALIAS   usr/lib/amd64/libadm.so
-ALIAS   usr/lib/amd64/libadm.so.1
-TOP_VERSION     SUNW_1.2        {SUNW_1.1}
-        INHERIT pkgdir
-        NEW     read_extvtoc
-        INHERIT read_vtoc
-        NEW     write_extvtoc
-        INHERIT write_vtoc
-VERSION SUNW_1.1        {SUNW_0.7}
-        INHERIT pkgdir
-        INHERIT read_vtoc
-        INHERIT write_vtoc
-VERSION SUNW_0.7
-        NEW     pkgdir
-        NEW     read_vtoc
-        NEW     write_vtoc
-.fi
-.in -4
-.sp
-The \fB-I\fP option is primary used for debugging
-.I interface_check
-and
-.I interface_cmp.
-.SH EXAMPLES
-The following example uses
-.I interface_check
-to generate an interface database for a workspace:
-.PP
-.RS
-.nf
-% mkdir $SRC/ELF-data.$MACH
-% interface_check -w $SRC/ELF-data.$MACH -E interface.err \ 
-        -i interface $ROOT
-% ls -1R $SRC/ELF
-interface
-interface.err
-.br
-.SH FILES
-.LP
-.RS 5
-$SRCTOP/exception_list/interface_check
-/opt/onbld/etc/exception_list/interface_check
-.SH SEE ALSO
-.BR find_elf(1ONBLD),
-.BR interface_cmp(1ONBLD),
-.BR ld(1),
-.BR ldd(1),
-.BR elfdump(1),
-.BR pvs(1).
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/interface_cmp.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,230 @@
+.\" Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.TH INTERFACE_CMP 1ONBLD "Mar 25, 2010"
+.SH NAME
+interface_cmp \- compare shared object interface descriptions
+.SH SYNOPSIS
+\fBinterface_cmp [-dot] [-e exfile] old new\fP
+.SH DESCRIPTION
+The
+.I interface_cmp
+command compares the interface definition files for two workspaces
+and reports versioning inconsistencies. Interface definition
+files are created by
+.IR interface_check.
+.PP
+.I interface_cmp
+is typically called from \fBnightly(1ONBLD)\fP when the \fB-A\fP
+option is in effect following the creation of a new database by
+.IR interface_check .
+To insure symbolic
+interface consistency between successive software releases, existing
+version definitions and their symbol association should remain intact.
+Any discrepancies between the two interface definitions are flagged as
+errors.
+.PP
+Note that version definition inheritance has the effect of causing a
+symbol to be viewed as existing in multiple definitions. This insures
+that both version definitions and their inheritance relationship are
+processed as part of the comparison.
+.SH OPTIONS
+The following options are supported:
+.TP 4
+.B \-c vertype_module
+By default,
+.I interface_cmp
+is customized for the versioning conventions used by the Solaris
+OSnet code base. This specialized information, which includes
+the recognition of the SUNW_ prefix and other special names, is
+contained in a perl module named onbld_elfmod_vertype.pm, which
+is delivered with the SUNWonbld tools. This module is loaded by
+.I interface_cmp
+at runtime. The \fB-c\fP option can be used to supply
+an alternative module, customized for a different code base, allowing
+.I interface_cmp
+to operate on code from other projects. The alternative module must
+supply the same module and calling interfaces as the standard module.
+.TP 4
+.B \-d
+Asserts that the \fBnew\fP interface is a direct descendant of
+\fBold\fP. If so, the following additional checks are enabled:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The top version of an inheritance chain must not increase
+by more than one.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The new interface must not add new empty versions. Pre-existing empty
+versions represent public interfaces that cannot be changed, but new
+ones should be removed before the product ships.
+.RE
+.sp
+.TP 4
+.B \-e exfile
+An exception file is used to exclude objects from
+the usual rules. See EXCEPTION FILE FORMAT.
+.TP 4
+.B \-o
+Produce one-liner output, with each line of diagnostic output
+prefixed with the object pathname.
+.TP 4
+.B \-t
+If the \fB-t\fP option is present, only one argument is allowed.
+The interface description file is parsed, and then regenerated on
+stdout in the same format used by the
+.I interface_check
+\fB-I\fP option. The \fB-I\fP output from
+.I interface_check
+and the output from
+.I interface_cmp
+\fB-t\fP
+should be identical, excluding header comments.
+This is a debugging feature, and not intended for general use.
+.SH EXCEPTION FILE FORMAT
+Exceptions to the rules enforced by
+.I interface_cmp
+are specified using an exception file. The \fB-e\fP option is used to
+specify an explicit exception file. Otherwise, if used in an activated
+workspace, the default exception file is
+$SRCTOP/exception_list/interface_cmp
+if that file exists. If not used in an activated workspace, or if
+$SRCTOP/exception_list/interface_cmp does not exist,
+.I interface_cmp
+will use
+.I /opt/onbld/etc/exception_list/interface_cmp
+as a fallback default exception file.
+.P
+To run
+.I interface_cmp
+without applying exceptions, specify \fB-e\fP with a value of /dev/null.
+.P
+A '#' character at the beginning of a line, or at any point in
+a line when preceded by whitespace, introduces a comment. Empty lines,
+and lines containing only comments, are ignored by
+.I interface_cmp.
+Exceptions are specified as space separated keyword, and \fBperl(1)\fP
+regular expressions. The number of regular expressions depends on the
+particular exception in questions:
+.sp
+.in +4
+.nf
+keyword  perl-regex...
+.fi
+.in -4
+.sp
+Since whitespace is used as a separator, the regular
+expression cannot itself contain whitespace. Use of the \\s character
+class to represent whitespace within the regular expression is recommended.
+Before the perl regular expression is used, constructs of the form
+MACH(dir) are expanded into a regular expression that matches the directory
+given, as well as any 64-bit architecture subdirectory that
+might be present (i.e. amd64, sparcv9). For instance, MACH(lib) will
+match any of the following:
+.sp
+.in +4
+.nf
+lib
+lib/amd64
+lib/sparcv9
+.fi
+.in -4
+.sp
+The exceptions understood by
+.I interface_cmp
+are:
+.sp
+.ne 2
+.na
+\fBADDSYM\fR sym_re version_re object_re
+.ad
+.RS 17n
+.sp
+The interfaces in a given version are not supposed to change.
+.I interface_cmp
+will normally issue an error if a new interface is added to a previously
+released version. ADDSYM is used to override this
+requirement. If the added symbol, version, and object match
+the regular expressions specified by ADDSYM, the added symbol is ignored.
+.RE
+
+.sp
+.ne 2
+.na
+\fBDELDYM\fR sym_re version_re object_re
+.ad
+.RS 17n
+.sp
+Once released to the public, interfaces are required to remain available
+in subsequent releases. DELSYM is used to override this
+requirement, as can occur when interfaces are EOL'd. Such an action generally
+requires a PSARC case. If the deleted symbol, version, and object match
+the regular expressions specified by DELSYM, the deleted symbol is ignored.
+.RE
+
+.sp
+.ne 2
+.na
+\fBEMPTY_TOPVERSION\fR version_re object_re
+.ad
+.RS 17n
+.sp
+.I
+interface_cmp
+normally issues an error if the old object has an empty top version
+that is non-empty in the new object. Such a situation is normally
+an error, but may legitimately occur as part of a fix to another versioning
+error.  If the version, and object match
+the regular expressions specified by EMPTY_TOPVERSION, the error is suppressed.
+.RE
+
+.SH EXAMPLES
+The following example uses
+.I interface_cmp
+to compare this releases interface definition with a previous
+builds results:
+.PP
+.RS
+.nf
+.B % interface_cmp -d -o $SRC/ELF-data.$MACH.ref/interfaces\ \\\\
+.B \ \ \ \ \ \ \ $SRC/ELF-data.$MACH/interfaces
+lib/libadm.so.1: SUNW_1.1: added interface: circf(4)
+lib/libaio.so.1: SUNW_1.1: deleted interface: _aiocancel
+.fi
+.RE
+.sp
+.PP
+Note: the above comparison files were doctored in order to provide
+the example, they do not indicate any real changes that have
+occurred in the associated system libraries.
+.br
+.SH SEE ALSO
+.BR find_elf(1ONBLD),
+.BR interface_check(1ONBLD),
+.BR ld(1),
+.BR ldd(1),
+.BR elfdump(1),
+.BR pvs(1).
--- a/usr/src/tools/scripts/interface_cmp.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-.\" Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
-.\"
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.TH INTERFACE_CMP 1ONBLD "Mar 25, 2010"
-.SH NAME
-interface_cmp \- compare shared object interface descriptions
-.SH SYNOPSIS
-\fBinterface_cmp [-dot] [-e exfile] old new\fP
-.SH DESCRIPTION
-The
-.I interface_cmp
-command compares the interface definition files for two workspaces
-and reports versioning inconsistencies. Interface definition
-files are created by
-.IR interface_check.
-.PP
-.I interface_cmp
-is typically called from \fBnightly(1ONBLD)\fP when the \fB-A\fP
-option is in effect following the creation of a new database by
-.IR interface_check .
-To insure symbolic
-interface consistency between successive software releases, existing
-version definitions and their symbol association should remain intact.
-Any discrepancies between the two interface definitions are flagged as
-errors.
-.PP
-Note that version definition inheritance has the effect of causing a
-symbol to be viewed as existing in multiple definitions. This insures
-that both version definitions and their inheritance relationship are
-processed as part of the comparison.
-.SH OPTIONS
-The following options are supported:
-.TP 4
-.B \-c vertype_module
-By default,
-.I interface_cmp
-is customized for the versioning conventions used by the Solaris
-OSnet code base. This specialized information, which includes
-the recognition of the SUNW_ prefix and other special names, is
-contained in a perl module named onbld_elfmod_vertype.pm, which
-is delivered with the SUNWonbld tools. This module is loaded by
-.I interface_cmp
-at runtime. The \fB-c\fP option can be used to supply
-an alternative module, customized for a different code base, allowing
-.I interface_cmp
-to operate on code from other projects. The alternative module must
-supply the same module and calling interfaces as the standard module.
-.TP 4
-.B \-d
-Asserts that the \fBnew\fP interface is a direct descendant of
-\fBold\fP. If so, the following additional checks are enabled:
-.RS +4
-.TP
-.ie t \(bu
-.el o
-The top version of an inheritance chain must not increase
-by more than one.
-.RE
-.RS +4
-.TP
-.ie t \(bu
-.el o
-The new interface must not add new empty versions. Pre-existing empty
-versions represent public interfaces that cannot be changed, but new
-ones should be removed before the product ships.
-.RE
-.sp
-.TP 4
-.B \-e exfile
-An exception file is used to exclude objects from
-the usual rules. See EXCEPTION FILE FORMAT.
-.TP 4
-.B \-o
-Produce one-liner output, with each line of diagnostic output
-prefixed with the object pathname.
-.TP 4
-.B \-t
-If the \fB-t\fP option is present, only one argument is allowed.
-The interface description file is parsed, and then regenerated on
-stdout in the same format used by the
-.I interface_check
-\fB-I\fP option. The \fB-I\fP output from
-.I interface_check
-and the output from
-.I interface_cmp
-\fB-t\fP
-should be identical, excluding header comments.
-This is a debugging feature, and not intended for general use.
-.SH EXCEPTION FILE FORMAT
-Exceptions to the rules enforced by
-.I interface_cmp
-are specified using an exception file. The \fB-e\fP option is used to
-specify an explicit exception file. Otherwise, if used in an activated
-workspace, the default exception file is
-$SRCTOP/exception_list/interface_cmp
-if that file exists. If not used in an activated workspace, or if
-$SRCTOP/exception_list/interface_cmp does not exist,
-.I interface_cmp
-will use
-.I /opt/onbld/etc/exception_list/interface_cmp
-as a fallback default exception file.
-.P
-To run
-.I interface_cmp
-without applying exceptions, specify \fB-e\fP with a value of /dev/null.
-.P
-A '#' character at the beginning of a line, or at any point in
-a line when preceded by whitespace, introduces a comment. Empty lines,
-and lines containing only comments, are ignored by
-.I interface_cmp.
-Exceptions are specified as space separated keyword, and \fBperl(1)\fP
-regular expressions. The number of regular expressions depends on the
-particular exception in questions:
-.sp
-.in +4
-.nf
-keyword  perl-regex...
-.fi
-.in -4
-.sp
-Since whitespace is used as a separator, the regular
-expression cannot itself contain whitespace. Use of the \\s character
-class to represent whitespace within the regular expression is recommended.
-Before the perl regular expression is used, constructs of the form
-MACH(dir) are expanded into a regular expression that matches the directory
-given, as well as any 64-bit architecture subdirectory that
-might be present (i.e. amd64, sparcv9). For instance, MACH(lib) will
-match any of the following:
-.sp
-.in +4
-.nf
-lib
-lib/amd64
-lib/sparcv9
-.fi
-.in -4
-.sp
-The exceptions understood by
-.I interface_cmp
-are:
-.sp
-.ne 2
-.na
-\fBADDSYM\fR sym_re version_re object_re
-.ad
-.RS 17n
-.sp
-The interfaces in a given version are not supposed to change.
-.I interface_cmp
-will normally issue an error if a new interface is added to a previously
-released version. ADDSYM is used to override this
-requirement. If the added symbol, version, and object match
-the regular expressions specified by ADDSYM, the added symbol is ignored.
-.RE
-
-.sp
-.ne 2
-.na
-\fBDELDYM\fR sym_re version_re object_re
-.ad
-.RS 17n
-.sp
-Once released to the public, interfaces are required to remain available
-in subsequent releases. DELSYM is used to override this
-requirement, as can occur when interfaces are EOL'd. Such an action generally
-requires a PSARC case. If the deleted symbol, version, and object match
-the regular expressions specified by DELSYM, the deleted symbol is ignored.
-.RE
-
-.sp
-.ne 2
-.na
-\fBEMPTY_TOPVERSION\fR version_re object_re
-.ad
-.RS 17n
-.sp
-.I
-interface_cmp
-normally issues an error if the old object has an empty top version
-that is non-empty in the new object. Such a situation is normally
-an error, but may legitimately occur as part of a fix to another versioning
-error.  If the version, and object match
-the regular expressions specified by EMPTY_TOPVERSION, the error is suppressed.
-.RE
-
-.SH EXAMPLES
-The following example uses
-.I interface_cmp
-to compare this releases interface definition with a previous
-builds results:
-.PP
-.RS
-.nf
-.B % interface_cmp -d -o $SRC/ELF-data.$MACH.ref/interfaces\ \\\\
-.B \ \ \ \ \ \ \ $SRC/ELF-data.$MACH/interfaces
-lib/libadm.so.1: SUNW_1.1: added interface: circf(4)
-lib/libaio.so.1: SUNW_1.1: deleted interface: _aiocancel
-.fi
-.RE
-.sp
-.PP
-Note: the above comparison files were doctored in order to provide
-the example, they do not indicate any real changes that have
-occurred in the associated system libraries.
-.br
-.SH SEE ALSO
-.BR find_elf(1ONBLD),
-.BR interface_check(1ONBLD),
-.BR ld(1),
-.BR ldd(1),
-.BR elfdump(1),
-.BR pvs(1).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/mapfilechk.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,70 @@
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
+.\" Use is subject to license terms.
+.TH MAPFILECHK 1ONBLD "Jan 27, 2009"
+.SH NAME
+mapfilechk \- Check for valid link-editor mapfile header blocks
+.SH SYNOPSIS
+.nf
+\fBmapfilechk \fR [\fB-v\fR] [\fB-x\fR \fIexceptions_file\fR] [\fIpath\fR...]
+.fi
+.SH DESCRIPTION
+mapfilechk inspects link-editor mapfiles for missing, obsolete,
+or corrupt mapfile header blocks.
+.SH OPTIONS
+.TP 4
+.B \-v
+Report on all files, not just those with invalid headers
+.TP 4
+.B \-x \fIexceptions_file\fR
+Load an exceptions file containing a list of files, directories and
+file extensions to be ignored.
+Exceptions may be one of three types:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+File paths
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Directories, specified with a trailing '/'
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+File extensions, specified with a leading '*.'
+.RE
+.SH EXIT STATUS
+.TP 4
+.B 0
+The command completed successfully.
+No errors or warnings were reported
+.TP 4
+.B 1
+The command completed unsuccessfully.
+One or more errors or warnings were reported.
+.TP 4
+.B 2
+Invalid command-line arguments were specified to the command.
--- a/usr/src/tools/scripts/mapfilechk.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.\" Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
-.\" Use is subject to license terms.
-.TH MAPFILECHK 1ONBLD "Jan 27, 2009"
-.SH NAME
-mapfilechk \- Check for valid link-editor mapfile header blocks
-.SH SYNOPSIS
-.nf
-\fBmapfilechk \fR [\fB-v\fR] [\fB-x\fR \fIexceptions_file\fR] [\fIpath\fR...]
-.fi
-.SH DESCRIPTION
-mapfilechk inspects link-editor mapfiles for missing, obsolete,
-or corrupt mapfile header blocks.
-.SH OPTIONS
-.TP 4
-.B \-v
-Report on all files, not just those with invalid headers
-.TP 4
-.B \-x \fIexceptions_file\fR
-Load an exceptions file containing a list of files, directories and
-file extensions to be ignored.
-Exceptions may be one of three types:
-.RS +4
-.TP
-.ie t \(bu
-.el o
-File paths
-.RE
-.RS +4
-.TP
-.ie t \(bu
-.el o
-Directories, specified with a trailing '/'
-.RE
-.RS +4
-.TP
-.ie t \(bu
-.el o
-File extensions, specified with a leading '*.'
-.RE
-.SH EXIT STATUS
-.TP 4
-.B 0
-The command completed successfully.
-No errors or warnings were reported
-.TP 4
-.B 1
-The command completed unsuccessfully.
-One or more errors or warnings were reported.
-.TP 4
-.B 2
-Invalid command-line arguments were specified to the command.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/tools/scripts/wsdiff.1	Mon Jul 16 14:49:03 2018 -0400
@@ -0,0 +1,192 @@
+.\" " CDDL HEADER START
+.\" "
+.\" " The contents of this file are subject to the terms of the
+.\" " Common Development and Distribution License (the "License").
+.\" " You may not use this file except in compliance with the License.
+.\" "
+.\" " You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" " or http://www.opensolaris.org/os/licensing.
+.\" " See the License for the specific language governing permissions
+.\" " and limitations under the License.
+.\" "
+.\" " When distributing Covered Code, include this CDDL HEADER in each
+.\" " file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" " If applicable, add the following below this CDDL HEADER, with the
+.\" " fields enclosed by brackets "[]" replaced with your own identifying
+.\" " information: Portions Copyright [yyyy] [name of copyright owner]
+.\" "
+.\" " CDDL HEADER END
+.\" "
+.\" " Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+.\" "
+.TH WSDIFF 1ONBLD "Jul 15, 2010"
+.I wsdiff
+\- report differences between proto area objects
+.SH SYNOPSIS
+\fBwsdiff [-dvVst] [-r \fIresults\fP] [-i \fIfilelist\fP] \fIold\fP \fInew\fP
+.SH DESCRIPTION
+.LP
+The wsdiff utility detects and reports on object differences found between
+two proto areas constructed from the same workspace. This can be useful
+when trying to understand which objects have changed as a result of a particular
+source change.
+.LP
+\fIold\fP specifies the baseline proto area constructed without the source
+change. \fInew\fP specifies the proto area constructed with the source
+change. Both \fIold\fP and \fInew\fP should be constructed from the same
+workspace, otherwise wsdiff will find object differences not associated
+with the source change.
+.SH OPTIONS
+.TP 10
+.B -d
+Print debug information. The debug lines are prefixed with ##.
+.TP 10
+.B -v
+Do not truncate the diffs logged to the results file. By default wsdiff
+will truncate the length of a sufficiently long set of object diffs to preserve
+the readability of the results file. -v can be used to override this behaviour.
+.TP 10
+.B -V
+Log observed differences for all ELF sections, rather than logging only the first
+difference found. When wsdiff encounters an ELF section difference, by default
+it will log the difference associated with that section only, and move on. -V forces
+wsdiff to log all ELF section differences found between two objects, rather than
+just the first. Because of the extra work involved, this may slow wsdiff down
+considerably.
+.TP 10
+.B -s
+Produce sorted lists. This is handy when comparing multiple wsdiff outputs
+because wsdiff runs in multithreaded mode so the list of differences is not
+sorted and can differ between multiple runs.
+.TP 10
+.B -t
+Look for the onbld tools in $SRC/tools rather than /opt/onbld/bin
+.TP 10
+.B -r
+Log results to the specified log file. The log file contains a list of new, deleted,
+and changed objects, as well as diffs signifying what wsdiff found to be different.
+.TP 10
+.B -i
+Specify which objects should be compared by wsdiff via an input file list (See
+EXAMPLES).
+.SH OUTPUT
+.LP
+The list of objects appearing to differ between \fIold\fP and \fInew\fP is
+printed to stdout. If -r was specified, the list of differing objects and
+their differrences are logged to \fIresults\fP.
+.SH EXAMPLES
+.PP
+\fBExample 1: Using wsdiff to determine patch deliverables\fR
+.PP
+The following example shows how to use wsdiff to determine the set of objects
+requiring (re)delivery via patch as a result of a given source change:
+.LP
+Starting with a built workspace, move the existing proto area aside:
+.LP
+.nf
+user@example$ ls
+Codemgr_wsdata/  proto/           usr/
+
+user@example$ mv proto proto.old
+.fi
+.LP
+Next, integrate the source changes, rebuild, and invoke wsdiff specifying the
+old and new proto areas:
+.LP
+.nf
+user@example$ ls
+Codemgr_wsdata/  proto/           proto.old/      usr/
+
+user@example$ wsdiff proto.old proto
+platform/SUNW,SPARC-Enterprise/kernel/sparcv9/unix
+platform/SUNW,Sun-Fire-15000/kernel/sparcv9/unix
+platform/sun4v/kernel/sparcv9/unix
+platform/sun4u/kernel/sparcv9/unix
+platform/SUNW,Ultra-Enterprise-10000/kernel/sparcv9/unix
+platform/SUNW,Sun-Fire/kernel/sparcv9/unix
+.fi
+.PP
+\fBExample 2: The wsdiff results file\fR
+.PP
+With the -r option, wsdiff will log the list of objects that appear different, as well
+as a set of diffs highlighting the observed difference:
+.LP
+.nf
+user@example$ wsdiff -r results proto.old proto
+platform/SUNW,SPARC-Enterprise/kernel/sparcv9/unix
+platform/SUNW,Sun-Fire-15000/kernel/sparcv9/unix
+platform/sun4v/kernel/sparcv9/unix
+platform/sun4u/kernel/sparcv9/unix
+platform/SUNW,Ultra-Enterprise-10000/kernel/sparcv9/unix
+platform/SUNW,Sun-Fire/kernel/sparcv9/unix
+
+user@example$ cat results
+# This file was produced by wsdiff
+# 2006/7/10 at 18:28:56
+Base proto area: proto.old/
+Patch (new) proto area: proto/
+Results file: results
+
+platform/SUNW,SPARC-Enterprise/kernel/sparcv9/unix
+NOTE: ELF .text difference detected.
+
+89562,89567c89562,89567
+<     lgrp_cpu_init+0x158:    9e 10 20 01  mov       0x1, %o7
+<     lgrp_cpu_init+0x15c:    b3 2b d0 1c  sllx      %o7, %i4, %i1
+<     lgrp_cpu_init+0x160:    9a 12 40 19  or        %o1, %i1, %o5
+<     lgrp_cpu_init+0x164:    da 76 a0 30  stx       %o5, [%i2 + 0x30]
+<     lgrp_cpu_init+0x168:    d8 04 e0 00  ld        [%l3], %o4
+<     lgrp_cpu_init+0x16c:    80 a3 20 00  cmp       %o4, 0x0
+---
+>     lgrp_cpu_init+0x158:    9a 10 20 01  mov       0x1, %o5
+>     lgrp_cpu_init+0x15c:    b3 2b 50 1c  sllx      %o5, %i4, %i1
+>     lgrp_cpu_init+0x160:    98 12 00 19  or        %o0, %i1, %o4
+>     lgrp_cpu_init+0x164:    d8 76 a0 30  stx       %o4, [%i2 + 0x30]
+>     lgrp_cpu_init+0x168:    d6 04 e0 00  ld        [%l3], %o3
+>     lgrp_cpu_init+0x16c:    80 a2 e0 00  cmp       %o3, 0x0
+
+
+.fi
+.PP
+\fBExample 3: Using an input file list\fR
+.PP
+The -i option tells wsdiff to compare a specific list of objects. This can be useful
+in conjunction with other options that direct wsdiff to log more verbosely, allowing
+one to "drill down" into a particular object's differences:
+.LP
+.nf
+user@example$ echo "usr/lib/mdb/kvm/sparcv9/genunix.so" > flist
+user@example$ wsdiff -vV -r results -i flist proto.old proto
+usr/lib/mdb/kvm/sparcv9/genunix.so
+
+user@example$ cat results
+<... verbose differences only for genunix.so ...>
+.fi
+.PP
+\fBExample 4: Invoking wsdiff through nightly(1ONBLD)\fR
+.PP
+By specifying -w in NIGHTLY_OPTIONS, nightly(1ONBLD) will use wsdiff(1ONBLD) to determine
+which objects look different, compared to the previous build. A pre-existing proto area
+must exist for wsdiff(1ONBLD) to compare against. nightly(1ONBLD) will move aside the
+pre-existing proto area (renaming it to $ROOT.prev under proto), and will
+invoke wsdiff at the end of the build. The list of changed objects will be reported
+in the nightly mail message, and a results file "wsdiff_results" will appear in the
+nightly log area.
+.PP
+\fBExample 5: Influencing the level of paralelism\fR
+.PP
+wsdiff spawns a number of threads by default after it determines the list
+of files for comparison. Default number of threads is based on the number of
+on-line CPUs present in the system. To set the number of threads for processing
+to some other value the DMAKE_MAX_JOBS environment variable can be used:
+.LP
+.nf
+$ DMAKE_MAX_JOBS=24 wsdiff proto_base proto_patch
+.fi
+.PP
+Note that this variable is also used for nightly(1ONBLD) so when run from
+nightly(1ONBLD), wsdiff will honor the setting.
+.SH SEE ALSO
+.LP
+.IR nightly(1ONBLD),
+.IR elfdump(1),
--- a/usr/src/tools/scripts/wsdiff.1onbld	Mon Jul 16 09:17:09 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-.\" " CDDL HEADER START
-.\" "
-.\" " The contents of this file are subject to the terms of the
-.\" " Common Development and Distribution License (the "License").
-.\" " You may not use this file except in compliance with the License.
-.\" "
-.\" " You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" " or http://www.opensolaris.org/os/licensing.
-.\" " See the License for the specific language governing permissions
-.\" " and limitations under the License.
-.\" "
-.\" " When distributing Covered Code, include this CDDL HEADER in each
-.\" " file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" " If applicable, add the following below this CDDL HEADER, with the
-.\" " fields enclosed by brackets "[]" replaced with your own identifying
-.\" " information: Portions Copyright [yyyy] [name of copyright owner]
-.\" "
-.\" " CDDL HEADER END
-.\" "
-.\" " Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
-.\" "
-.TH WSDIFF 1ONBLD "Jul 15, 2010"
-.I wsdiff
-\- report differences between proto area objects
-.SH SYNOPSIS
-\fBwsdiff [-dvVst] [-r \fIresults\fP] [-i \fIfilelist\fP] \fIold\fP \fInew\fP
-.SH DESCRIPTION
-.LP
-The wsdiff utility detects and reports on object differences found between
-two proto areas constructed from the same workspace. This can be useful
-when trying to understand which objects have changed as a result of a particular
-source change.
-.LP
-\fIold\fP specifies the baseline proto area constructed without the source
-change. \fInew\fP specifies the proto area constructed with the source
-change. Both \fIold\fP and \fInew\fP should be constructed from the same
-workspace, otherwise wsdiff will find object differences not associated
-with the source change.
-.SH OPTIONS
-.TP 10
-.B -d
-Print debug information. The debug lines are prefixed with ##.
-.TP 10
-.B -v
-Do not truncate the diffs logged to the results file. By default wsdiff
-will truncate the length of a sufficiently long set of object diffs to preserve
-the readability of the results file. -v can be used to override this behaviour.
-.TP 10
-.B -V
-Log observed differences for all ELF sections, rather than logging only the first
-difference found. When wsdiff encounters an ELF section difference, by default
-it will log the difference associated with that section only, and move on. -V forces
-wsdiff to log all ELF section differences found between two objects, rather than
-just the first. Because of the extra work involved, this may slow wsdiff down
-considerably.
-.TP 10
-.B -s
-Produce sorted lists. This is handy when comparing multiple wsdiff outputs
-because wsdiff runs in multithreaded mode so the list of differences is not
-sorted and can differ between multiple runs.
-.TP 10
-.B -t
-Look for the onbld tools in $SRC/tools rather than /opt/onbld/bin
-.TP 10
-.B -r
-Log results to the specified log file. The log file contains a list of new, deleted,
-and changed objects, as well as diffs signifying what wsdiff found to be different.
-.TP 10
-.B -i
-Specify which objects should be compared by wsdiff via an input file list (See
-EXAMPLES).
-.SH OUTPUT
-.LP
-The list of objects appearing to differ between \fIold\fP and \fInew\fP is
-printed to stdout. If -r was specified, the list of differing objects and
-their differrences are logged to \fIresults\fP.
-.SH EXAMPLES
-.PP
-\fBExample 1: Using wsdiff to determine patch deliverables\fR
-.PP
-The following example shows how to use wsdiff to determine the set of objects
-requiring (re)delivery via patch as a result of a given source change:
-.LP
-Starting with a built workspace, move the existing proto area aside:
-.LP
-.nf
-user@example$ ls
-Codemgr_wsdata/  proto/           usr/
-
-user@example$ mv proto proto.old
-.fi
-.LP
-Next, integrate the source changes, rebuild, and invoke wsdiff specifying the
-old and new proto areas:
-.LP
-.nf
-user@example$ ls
-Codemgr_wsdata/  proto/           proto.old/      usr/
-
-user@example$ wsdiff proto.old proto
-platform/SUNW,SPARC-Enterprise/kernel/sparcv9/unix
-platform/SUNW,Sun-Fire-15000/kernel/sparcv9/unix
-platform/sun4v/kernel/sparcv9/unix
-platform/sun4u/kernel/sparcv9/unix
-platform/SUNW,Ultra-Enterprise-10000/kernel/sparcv9/unix
-platform/SUNW,Sun-Fire/kernel/sparcv9/unix
-.fi
-.PP
-\fBExample 2: The wsdiff results file\fR
-.PP
-With the -r option, wsdiff will log the list of objects that appear different, as well
-as a set of diffs highlighting the observed difference:
-.LP
-.nf
-user@example$ wsdiff -r results proto.old proto
-platform/SUNW,SPARC-Enterprise/kernel/sparcv9/unix
-platform/SUNW,Sun-Fire-15000/kernel/sparcv9/unix
-platform/sun4v/kernel/sparcv9/unix
-platform/sun4u/kernel/sparcv9/unix
-platform/SUNW,Ultra-Enterprise-10000/kernel/sparcv9/unix
-platform/SUNW,Sun-Fire/kernel/sparcv9/unix
-
-user@example$ cat results
-# This file was produced by wsdiff
-# 2006/7/10 at 18:28:56
-Base proto area: proto.old/
-Patch (new) proto area: proto/
-Results file: results
-
-platform/SUNW,SPARC-Enterprise/kernel/sparcv9/unix
-NOTE: ELF .text difference detected.
-
-89562,89567c89562,89567
-<     lgrp_cpu_init+0x158:    9e 10 20 01  mov       0x1, %o7
-<     lgrp_cpu_init+0x15c:    b3 2b d0 1c  sllx      %o7, %i4, %i1
-<     lgrp_cpu_init+0x160:    9a 12 40 19  or        %o1, %i1, %o5
-<     lgrp_cpu_init+0x164:    da 76 a0 30  stx       %o5, [%i2 + 0x30]
-<     lgrp_cpu_init+0x168:    d8 04 e0 00  ld        [%l3], %o4
-<     lgrp_cpu_init+0x16c:    80 a3 20 00  cmp       %o4, 0x0
----
->     lgrp_cpu_init+0x158:    9a 10 20 01  mov       0x1, %o5
->     lgrp_cpu_init+0x15c:    b3 2b 50 1c  sllx      %o5, %i4, %i1
->     lgrp_cpu_init+0x160:    98 12 00 19  or        %o0, %i1, %o4
->     lgrp_cpu_init+0x164:    d8 76 a0 30  stx       %o4, [%i2 + 0x30]
->     lgrp_cpu_init+0x168:    d6 04 e0 00  ld        [%l3], %o3
->     lgrp_cpu_init+0x16c:    80 a2 e0 00  cmp       %o3, 0x0
-
-
-.fi
-.PP
-\fBExample 3: Using an input file list\fR
-.PP
-The -i option tells wsdiff to compare a specific list of objects. This can be useful
-in conjunction with other options that direct wsdiff to log more verbosely, allowing
-one to "drill down" into a particular object's differences:
-.LP
-.nf
-user@example$ echo "usr/lib/mdb/kvm/sparcv9/genunix.so" > flist
-user@example$ wsdiff -vV -r results -i flist proto.old proto
-usr/lib/mdb/kvm/sparcv9/genunix.so
-
-user@example$ cat results
-<... verbose differences only for genunix.so ...>
-.fi
-.PP
-\fBExample 4: Invoking wsdiff through nightly(1ONBLD)\fR
-.PP
-By specifying -w in NIGHTLY_OPTIONS, nightly(1ONBLD) will use wsdiff(1ONBLD) to determine
-which objects look different, compared to the previous build. A pre-existing proto area
-must exist for wsdiff(1ONBLD) to compare against. nightly(1ONBLD) will move aside the
-pre-existing proto area (renaming it to $ROOT.prev under proto), and will
-invoke wsdiff at the end of the build. The list of changed objects will be reported
-in the nightly mail message, and a results file "wsdiff_results" will appear in the
-nightly log area.
-.PP
-\fBExample 5: Influencing the level of paralelism\fR
-.PP
-wsdiff spawns a number of threads by default after it determines the list
-of files for comparison. Default number of threads is based on the number of
-on-line CPUs present in the system. To set the number of threads for processing
-to some other value the DMAKE_MAX_JOBS environment variable can be used:
-.LP
-.nf
-$ DMAKE_MAX_JOBS=24 wsdiff proto_base proto_patch
-.fi
-.PP
-Note that this variable is also used for nightly(1ONBLD) so when run from
-nightly(1ONBLD), wsdiff will honor the setting.
-.SH SEE ALSO
-.LP
-.IR nightly(1ONBLD),
-.IR elfdump(1),