diff options
Diffstat (limited to 'share/man/man8/genassym.sh.8')
-rw-r--r-- | share/man/man8/genassym.sh.8 | 89 |
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 . |