diff --git a/usr.sbin/genassym/Makefile b/usr.sbin/genassym/Makefile index 863c13cd70ee..36420acdcd27 100644 --- a/usr.sbin/genassym/Makefile +++ b/usr.sbin/genassym/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.1 2005/05/31 03:48:43 christos Exp $ +# $NetBSD: Makefile,v 1.2 2005/05/31 11:35:54 christos Exp $ -NOMAN= yes +MAN= genassym.8 SCRIPTS= genassym.sh .include diff --git a/usr.sbin/genassym/genassym.8 b/usr.sbin/genassym/genassym.8 new file mode 100644 index 000000000000..b011a1d65e90 --- /dev/null +++ b/usr.sbin/genassym/genassym.8 @@ -0,0 +1,92 @@ +.\" $NetBSD: genassym.8,v 1.1 2005/05/31 11:35:54 christos 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 May 31, 2005 +.Dt GENASSYM 8 +.Os +.Sh NAME +.Nm genassym +.Nd emit an assym.h file +.Sh SYNOPSIS +.Nm genassym +.Op Fl c +.Op Fl f +.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. +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. 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. +The +.Fl f +flag instructs +.Nm +to create forth code. +.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 +command appeared in +.Nx 1.3 +as genassym.sh in +.Pa /sys/kern . +It became a userland utility in +.Nx 4.0 .