Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Jul 2016 17:46:09 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r303033 - head/share/man/man7
Message-ID:  <201607191746.u6JHk9ov092270@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 .



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201607191746.u6JHk9ov092270>