summaryrefslogtreecommitdiff
path: root/share/man/man8/genassym.sh.8
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man8/genassym.sh.8')
-rw-r--r--share/man/man8/genassym.sh.889
1 files changed, 89 insertions, 0 deletions
diff --git a/share/man/man8/genassym.sh.8 b/share/man/man8/genassym.sh.8
new file mode 100644
index 00000000000..30da4d162ce
--- /dev/null
+++ b/share/man/man8/genassym.sh.8
@@ -0,0 +1,89 @@
+.\" $OpenBSD: genassym.sh.8,v 1.1 2001/09/16 14:32:27 miod Exp $
+.\" $NetBSD: genassym.sh.8,v 1.5 1999/03/17 20:31:19 garbled Exp $
+.\"
+.\" Copyright (c) 1997 Matthias Pfaller.
+.\" 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.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Matthias Pfaller.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 January 25, 1997
+.Dt GENASSYM.SH 8
+.Os
+.Sh NAME
+.Nm genassym.sh
+.Nd emit an assym.h file
+.Sh SYNOPSIS
+.Nm sh genassym.sh
+.Op Fl c
+.Ar C compiler invocation
+.Sh DESCRIPTION
+.Nm
+is a shell script normally used during the kernel build process to
+create an assym.h file.
+This file defines a number of cpp constants derived from the configuration
+information
+.Nm
+reads from stdin. The generated file is used by kernel sources
+written in assembler to gain access to information (e.g. structure
+offsets and sizes) normally only known to the C compiler.
+.Pp
+.Nm
+resides in the
+.Pa /sys/kern
+directory. Arguments to
+.Nm
+are usually of the form
+.Ar ${CC} ${CFLAGS} ${CPPFLAGS}
+where
+.Ar ${CC}
+is the C compiler used to compile the kernel, while
+.Ar ${CFLAGS}
+and
+.Ar ${CPPFLAGS}
+are flag arguments to the C compiler. The script creates a C source file
+from its input. Then the C compiler is called according to the script's
+arguments to compile this file.
+.Pp
+Normally
+.Nm
+instructs the C compiler to create an assembler source from the constructed
+C source. The resulting file is then processed to extract the information
+needed to create the assym.h file. The
+.Fl c
+flag instructs
+.Nm
+to create slightly different code, generate an executable from this code
+and run it. In both cases the assym.h file is written to stdout.
+.Sh DIAGNOSTICS
+Either self-explanatory, or generated by one of the programs
+called from the script.
+.Sh SEE ALSO
+.Xr genassym.cf 5 ,
+.Sh HISTORY
+The
+.Nm
+script first appeared in
+.Ox 2.2 .