From owner-svn-src-all@freebsd.org Tue Jul 19 18:39:22 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C61AAB9DEC1; Tue, 19 Jul 2016 18:39:22 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from d.mail.sonic.net (d.mail.sonic.net [64.142.111.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AEE031AEC; Tue, 19 Jul 2016 18:39:22 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from zeppelin.tachypleus.net (75-101-50-44.static.sonic.net [75.101.50.44]) (authenticated bits=0) by d.mail.sonic.net (8.15.1/8.15.1) with ESMTPSA id u6JIdJoM010595 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Tue, 19 Jul 2016 11:39:19 -0700 Subject: Re: svn commit: r303033 - head/share/man/man7 To: Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201607191746.u6JHk9ov092270@repo.freebsd.org> From: Nathan Whitehorn Message-ID: <263c0490-691a-b551-f5e7-fc5bb6b05ba7@freebsd.org> Date: Tue, 19 Jul 2016 11:39:19 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: <201607191746.u6JHk9ov092270@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Sonic-CAuth: UmFuZG9tSVaAEJA+3wjzPUKJdIVk0KbStjYnlgoL+/SNhU4W7ZopaK+BGBcPZdALpmN85z8wfD8+3USG6uatlBHRjSf9mPWT24nKj41UaTs= X-Sonic-ID: C;7PKaGuBN5hGexpNwxPCmMQ== M;6JfWGuBN5hGexpNwxPCmMQ== X-Spam-Flag: No X-Sonic-Spam-Details: 0.0/5.0 by cerberusd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2016 18:39:22 -0000 Thank you! This is super useful. -Nathan On 07/19/16 10:46, Ed Maste wrote: > Author: emaste > Date: Tue Jul 19 17:46:09 2016 > New Revision: 303033 > URL: https://svnweb.freebsd.org/changeset/base/303033 > > Log: > add an arch.7 man page with architecture-specific details > > Based on details collected on the wiki, at > https://wiki.freebsd.org/EdMaste/ArchitectureSpecifics > Further details to be added over time. > > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D7096 > > Added: > head/share/man/man7/arch.7 (contents, props changed) > Modified: > head/share/man/man7/Makefile > > Modified: head/share/man/man7/Makefile > ============================================================================== > --- head/share/man/man7/Makefile Tue Jul 19 17:31:48 2016 (r303032) > +++ head/share/man/man7/Makefile Tue Jul 19 17:46:09 2016 (r303033) > @@ -7,6 +7,7 @@ PACKAGE=runtime-manuals > > #MISSING: eqnchar.7 ms.7 term.7 > MAN= adding_user.7 \ > + arch.7 \ > ascii.7 \ > bsd.snmpmod.mk.7 \ > build.7 \ > > Added: head/share/man/man7/arch.7 > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/share/man/man7/arch.7 Tue Jul 19 17:46:09 2016 (r303033) > @@ -0,0 +1,171 @@ > +.\" Copyright (c) 2016 The FreeBSD Foundation. All rights reserved. > +.\" > +.\" This documentation was created by Ed Maste under sponsorship of > +.\" The FreeBSD Foundation. > +.\" > +.\" 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 COPYRIGHT HOLDERS ``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 COPYRIGHT HOLDERS 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. > +.\" > +.\" $FreeBSD$ > +.\" > +.Dd July 19, 2016 > +.Dt ARCH 7 > +.Os > +.Sh NAME > +.Nm arch > +.Nd Architecture-specific details > +.Sh DESCRIPTION > +Differences between CPU architectures and platforms supported by > +.Fx . > +.Pp > +.Ss Type sizes > +On all supported architectures, > +.Bl -column -offset -indent "long long" "Size" > +.It Sy Type Ta Sy Size > +.It short Ta 2 > +.It int Ta 4 > +.It long Ta sizeof(void*) > +.It long long Ta 8 > +.It float Ta 4 > +.It double Ta 8 > +.El > +.Bl -column -offset indent ".Sy Architecture" ".Sy sizeof(void *)" ".Sy "sizeof(long double)" > +.It Sy Architecture Ta Sy sizeof(void *) Ta Sy sizeof(long double) > +.It amd64 Ta 8 Ta 16 > +.It arm Ta 4 Ta 8 > +.It armeb Ta 4 Ta 8 > +.It armv6 Ta 4 Ta 8 > +.It arm64 Ta 8 Ta 16 > +.It i386 Ta 4 Ta 12 > +.It mips Ta 4 Ta 8 > +.It mipsel Ta 4 Ta 8 > +.It mipsn32 Ta 4 Ta 8 > +.It mips64 Ta 8 Ta 8 > +.It mips64el Ta 8 Ta 8 > +.It powerpc Ta 4 Ta 8 > +.It powerpc64 Ta 8 Ta 8 > +.It riscv Ta 8 Ta > +.It sparc64 Ta 8 Ta 16 > +.El > +.Ss Endianness and Char Signedness > +.Bl -column -offset indent ".Sy Architecture" ".Sy Endianness" ".Sy "char Signedness" > +.It Sy Architecture Ta Sy Endianness Ta Sy char Signedness > +.It amd64 Ta little Ta signed > +.It arm Ta little Ta unsigned > +.It armeb Ta big Ta unsigned > +.It armv6 Ta little Ta unsigned > +.It arm64 Ta little Ta unsigned > +.It i386 Ta little Ta signed > +.It mips Ta little Ta signed > +.It mipsel Ta big Ta signed > +.It mipsn32 Ta little Ta signed > +.It mips64 Ta little Ta signed > +.It mips64el Ta little Ta signed > +.It powerpc Ta big Ta unsigned > +.It powerpc64 Ta big Ta unsigned > +.It riscv Ta little Ta signed > +.It sparc64 Ta big Ta signed > +.El > +.Ss Page Size > +.Bl -column -offset indent ".Sy Architecture" ".Sy Page Sizes" > +.It Sy Architecture Ta Sy Page Sizes > +.It amd64 Ta 4K, 2M, 1G > +.It arm Ta 4K > +.It armeb Ta 4K > +.It armv6 Ta 4K > +.It arm64 Ta 4K, 2M, 1G > +.It i386 Ta 4K, 2M (PAE), 4M > +.It mips Ta 4K > +.It mipsel Ta 4K > +.It mipsn32 Ta 4K > +.It mips64 Ta 4K > +.It mips64el Ta 4K > +.It powerpc Ta 4K > +.It powerpc64 Ta 4K > +.It riscv Ta 4K > +.It sparc64 Ta 8K > +.El > +.Ss Floating Point > +.Bl -column -offset indent ".Sy Architecture" ".Sy float, double" ".Sy long double" > +.It Sy Architecture Ta Sy float, double Ta Sy long double > +.It amd64 Ta hard Ta hard, 80 bit > +.It arm Ta soft Ta soft, double precision > +.It armeb Ta soft Ta soft, double precision > +.It armv6 Ta hard Ta hard, double precision > +.It arm64 Ta hard Ta soft, quad precision > +.It i386 Ta hard Ta hard, 80 bit > +.It mips Ta soft Ta identical to double > +.It mipsel Ta soft Ta identical to double > +.It mipsn32 Ta soft Ta identical to double > +.It mips64 Ta soft Ta identical to double > +.It mips64el Ta soft Ta identical to double > +.It powerpc Ta hard Ta hard, double precision > +.It powerpc64 Ta hard Ta hard, double precision > +.It riscv Ta > +.It sparc64 Ta hard Ta hard, quad precision > +.El > +.Ss Predefined Macros > +The compiler provides a number of predefined macros. > +Some of these provide architecture-specific details and are explained below. > +Other macros, including those required by the language standard, are not > +included here. > +.Pp > +The full set of predefined macros can be obtained with this command: > +.Bd -literal -offset indent > +cc -x c -Dm -E /dev/null > +.Ed > +.Pp > +Common type size and endianness macros: > +.Bl -column -offset indent "BYTE_ORDER" ".Sy Meaning" > +.It Sy Macro Ta Sy Meaning > +.It Dv __LP64__ Ta 64-bit (8-byte) long and pointer, 32-bit (4-byte) int > +.It Dv __ILP32__ Ta 32-bit (4-byte) int, long and pointer > +.It Dv BYTE_ORDER Ta Either Dv BIG_ENDIAN or Dv LITTLE_ENDIAN . > +.Dv PDP11_ENDIAN is not used on FreeBSD. > +.El > +.Pp > +Architecture-specific macros: > +.Bl -column -offset indent ".Sy Architecture" ".Sy Predefined macros" > +.It Sy Architecture Ta Sy Predefined macros > +.It amd64 Ta Dv __amd64__, Dv __x86_64__ > +.It arm Ta Dv __arm__ > +.It armeb Ta Dv __arm__ > +.It armv6 Ta Dv __arm__, Dv __ARM_ARCH >= 6 > +.It arm64 Ta Dv __aarch64__ > +.It i386 Ta Dv __i386__ > +.It mips Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_o32 > +.It mipsel Ta Dv __mips__, Dv __mips_o32 > +.It mipsn32 Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_n32 > +.It mips64 Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_n64 > +.It mips64el Ta Dv __mips__, Dv __mips_n64 > +.It powerpc Ta Dv __powerpc__ > +.It powerpc64 Ta Dv __powerpc__, Dv __powerpc64__ > +.It riscv Ta Dv __riscv__, Dv __riscv64 > +.It sparc64 Ta Dv __sparc64__ > +.El > +.Sh SEE ALSO > +.Xr src.conf 5 , > +.Xr build 7 > +.Sh HISTORY > +An > +.Nm > +manual page appeared in > +.Fx 12 . >