1*e6c0d5c3SKonstantin Belousov.\" Copyright (c) 2016-2017 The FreeBSD Foundation. All rights reserved. 2df9330b5SEd Maste.\" 3df9330b5SEd Maste.\" This documentation was created by Ed Maste under sponsorship of 4df9330b5SEd Maste.\" The FreeBSD Foundation. 5df9330b5SEd Maste.\" 6df9330b5SEd Maste.\" Redistribution and use in source and binary forms, with or without 7df9330b5SEd Maste.\" modification, are permitted provided that the following conditions 8df9330b5SEd Maste.\" are met: 9df9330b5SEd Maste.\" 1. Redistributions of source code must retain the above copyright 10df9330b5SEd Maste.\" notice, this list of conditions and the following disclaimer. 11df9330b5SEd Maste.\" 2. Redistributions in binary form must reproduce the above copyright 12df9330b5SEd Maste.\" notice, this list of conditions and the following disclaimer in the 13df9330b5SEd Maste.\" documentation and/or other materials provided with the distribution. 14df9330b5SEd Maste.\" 15df9330b5SEd Maste.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND 16df9330b5SEd Maste.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17df9330b5SEd Maste.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18df9330b5SEd Maste.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE 19df9330b5SEd Maste.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20df9330b5SEd Maste.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21df9330b5SEd Maste.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22df9330b5SEd Maste.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23df9330b5SEd Maste.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24df9330b5SEd Maste.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25df9330b5SEd Maste.\" SUCH DAMAGE. 26df9330b5SEd Maste.\" 27df9330b5SEd Maste.\" $FreeBSD$ 28df9330b5SEd Maste.\" 29*e6c0d5c3SKonstantin Belousov.Dd May 5, 2017 30df9330b5SEd Maste.Dt ARCH 7 31df9330b5SEd Maste.Os 32df9330b5SEd Maste.Sh NAME 33df9330b5SEd Maste.Nm arch 34df9330b5SEd Maste.Nd Architecture-specific details 35df9330b5SEd Maste.Sh DESCRIPTION 36df9330b5SEd MasteDifferences between CPU architectures and platforms supported by 37df9330b5SEd Maste.Fx . 38de6fc272SKonstantin Belousov.Ss Introduction 39dddb1576SKonstantin BelousovIf not explicitly mentioned, sizes are in bytes. 4045801499SEd MasteThe architecture details in this document apply to 4145801499SEd Maste.Fx 10.0 4245801499SEd Masteand later, unless otherwise noted. 43de6fc272SKonstantin Belousov.Pp 44*e6c0d5c3SKonstantin Belousov.Fx 45*e6c0d5c3SKonstantin Belousovuses flat address space for program execution, 46*e6c0d5c3SKonstantin Belousovwhere variables of types 47*e6c0d5c3SKonstantin Belousov.Vt unsigned long , 48*e6c0d5c3SKonstantin Belousov.Vt uintptr_t , 49de6fc272SKonstantin Belousovand 50de6fc272SKonstantin Belousov.Vt size_t 51*e6c0d5c3SKonstantin Belousovand the pointers all have the same representation. 52de6fc272SKonstantin Belousov.Pp 53de6fc272SKonstantin BelousovIn order to maximize compatibility with future pointer integrity mechanisms, 54de6fc272SKonstantin Belousovmanipulations of pointers as integers should be performed via 55de6fc272SKonstantin Belousov.Vt uintptr_t 56de6fc272SKonstantin Belousovor 57de6fc272SKonstantin Belousov.Vt intptr_t 58de6fc272SKonstantin Belousovand no other types. 59de6fc272SKonstantin BelousovIn particular, 60de6fc272SKonstantin Belousov.Vt long 61de6fc272SKonstantin Belousovand 62de6fc272SKonstantin Belousov.Vt ptrdiff_t 63de6fc272SKonstantin Belousovshould be avoided. 64de6fc272SKonstantin Belousov.Pp 65de6fc272SKonstantin BelousovOn some architectures, e.g. 66de6fc272SKonstantin Belousov.Dv sparc64 , 67de6fc272SKonstantin Belousov.Dv powerpc 68de6fc272SKonstantin Belousovand AIM variants of 69de6fc272SKonstantin Belousov.Dv powerpc64 , 70de6fc272SKonstantin Belousovthe kernel uses a separate address space. 71de6fc272SKonstantin BelousovOn other architectures, kernel and a user mode process share a 72de6fc272SKonstantin Belousovsingle address space. 73de6fc272SKonstantin BelousovThe kernel is located at the highest addresses. 74de6fc272SKonstantin Belousov.Pp 75de6fc272SKonstantin BelousovOn each architecture, the main user mode thread's stack starts near 76de6fc272SKonstantin Belousovthe highest user address and grows down. 7745801499SEd Maste.Pp 7845801499SEd Maste.Fx 7945801499SEd Mastearchitecture support varies by release. 8045801499SEd MasteThis table shows the first 8145801499SEd Maste.Fx 8245801499SEd Masterelease to support each architecture, and, for discontinued 8345801499SEd Mastearchitectures, the final release. 8445801499SEd Maste.Pp 8545801499SEd Maste.Bl -column -offset indent "Sy Architecture" "Sy Initial Release" "Sy Final Release" 8645801499SEd Maste.It Sy Architecture Ta Sy Initial Release Ta Sy Final Release 8745801499SEd Maste.It alpha Ta 1.0 Ta 6.4 8845801499SEd Maste.It amd64 Ta 5.1 8945801499SEd Maste.It arm Ta 6.0 9045801499SEd Maste.It armeb Ta 8.0 9145801499SEd Maste.It armv6 Ta 10.0 9245801499SEd Maste.It arm64 Ta 11.0 9345801499SEd Maste.It ia64 Ta 5.0 Ta 10.x 9445801499SEd Maste.It i386 Ta 1.0 9545801499SEd Maste.It mips Ta 8.0 9645801499SEd Maste.It mipsel Ta 9.0 9745801499SEd Maste.It mipselhf Ta 12.0 9845801499SEd Maste.It mipshf Ta 12.0 9945801499SEd Maste.It mipsn32 Ta 9.0 10045801499SEd Maste.It mips64 Ta 9.0 10145801499SEd Maste.It mips64el Ta 9.0 10245801499SEd Maste.It mips64elhf Ta 12.0 10345801499SEd Maste.It mips64hf Ta 12.0 10445801499SEd Maste.It pc98 Ta 5.0 Ta 11.x 10545801499SEd Maste.It powerpc Ta 6.0 10645801499SEd Maste.It powerpcspe Ta 12.0 10745801499SEd Maste.It powerpc64 Ta 6.0 10845801499SEd Maste.It riscv64 Ta 12.0 10945801499SEd Maste.It riscv64sf Ta 12.0 11045801499SEd Maste.It sparc64 Ta 5.0 11145801499SEd Maste.El 112df9330b5SEd Maste.Ss Type sizes 113*e6c0d5c3SKonstantin BelousovAll 114*e6c0d5c3SKonstantin Belousov.Fx 115*e6c0d5c3SKonstantin Belousovarchitectures use some variant of the ELF (see 116de6fc272SKonstantin Belousov.Xr elf 5 ) 117de6fc272SKonstantin Belousov.Sy Application Binary Interface 118de6fc272SKonstantin Belousov(ABI) for the machine processor. 119de6fc272SKonstantin BelousovAll supported ABIs can be divided into two groups: 120de6fc272SKonstantin Belousov.Bl -tag -width "Dv ILP32" 121de6fc272SKonstantin Belousov.It Dv ILP32 122de6fc272SKonstantin Belousov.Vt int , 123de6fc272SKonstantin Belousov.Vt long , 124de6fc272SKonstantin Belousov.Vt void * 125de6fc272SKonstantin Belousovtypes machine representations all have 4-byte size. 126de6fc272SKonstantin Belousov.It Dv LP64 127de6fc272SKonstantin Belousov.Vt int 128de6fc272SKonstantin Belousovtype machine representation uses 4 bytes, 129de6fc272SKonstantin Belousovwhile 130de6fc272SKonstantin Belousov.Vt long 131de6fc272SKonstantin Belousovand 132de6fc272SKonstantin Belousov.Vt void * 133de6fc272SKonstantin Belousovare 8 bytes. 134de6fc272SKonstantin Belousov.El 135*e6c0d5c3SKonstantin BelousovCompilers define the 136de6fc272SKonstantin Belousov.Dv _LP64 137de6fc272SKonstantin Belousovsymbol when compiling for an 138de6fc272SKonstantin Belousov.Dv LP64 139de6fc272SKonstantin BelousovABI. 140de6fc272SKonstantin Belousov.Pp 141*e6c0d5c3SKonstantin BelousovSome machines support more that one 142*e6c0d5c3SKonstantin Belousov.Fx 143*e6c0d5c3SKonstantin BelousovABI. 144de6fc272SKonstantin BelousovTypically these are 64-bit machines, where the 145de6fc272SKonstantin Belousov.Dq native 146de6fc272SKonstantin Belousov.Dv LP64 147de6fc272SKonstantin Belousovexecution environment is accompanied by the 148de6fc272SKonstantin Belousov.Dq legacy 149de6fc272SKonstantin Belousov.Dv ILP32 150de6fc272SKonstantin Belousovenvironment, which was historical 32-bit predecessor for 64-bit evolution. 151de6fc272SKonstantin BelousovExamples are: 152*e6c0d5c3SKonstantin Belousov.Bl -column -offset indent "Dv powerpc64" "Sy ILP32 counterpart" 153de6fc272SKonstantin Belousov.It Sy LP64 Ta Sy ILP32 counterpart 154de6fc272SKonstantin Belousov.It Dv amd64 Ta Dv i386 155de6fc272SKonstantin Belousov.It Dv powerpc64 Ta Dv powerpc 156de6fc272SKonstantin Belousov.It Dv mips64* Ta Dv mips* 157de6fc272SKonstantin Belousov.El 158de6fc272SKonstantin Belousov.Dv arm64 159de6fc272SKonstantin Belousovcurrently does not support execution of 160de6fc272SKonstantin Belousov.Dv armv6 161de6fc272SKonstantin Belousovbinaries, even if the CPU implements 162de6fc272SKonstantin Belousov.Dv AArch32 163de6fc272SKonstantin Belousovexecution state. 164de6fc272SKonstantin Belousov.Pp 165dddb1576SKonstantin BelousovOn all supported architectures: 166df9330b5SEd Maste.Bl -column -offset -indent "long long" "Size" 167df9330b5SEd Maste.It Sy Type Ta Sy Size 168df9330b5SEd Maste.It short Ta 2 169df9330b5SEd Maste.It int Ta 4 170df9330b5SEd Maste.It long Ta sizeof(void*) 171df9330b5SEd Maste.It long long Ta 8 172df9330b5SEd Maste.It float Ta 4 173df9330b5SEd Maste.It double Ta 8 174df9330b5SEd Maste.El 175de6fc272SKonstantin BelousovIntegers are represented as two-complement. 176de6fc272SKonstantin BelousovAlignment of integer and pointer types is natural, that is, 177*e6c0d5c3SKonstantin Belousovthe address of the variable must be congruent to zero modulo the type size. 178*e6c0d5c3SKonstantin BelousovMost ILP32 ABIs, except 179*e6c0d5c3SKonstantin Belousov.Dv arm , 180*e6c0d5c3SKonstantin Belousovrequire only 4-byte alignment for 64-bit integers. 181dddb1576SKonstantin Belousov.Pp 182dddb1576SKonstantin BelousovMachine-dependent type sizes: 183dddb1576SKonstantin Belousov.Bl -column -offset indent "Sy Architecture" "Sy void *" "Sy long double" "Sy time_t" 184dddb1576SKonstantin Belousov.It Sy Architecture Ta Sy void * Ta Sy long double Ta Sy time_t 1856554316cSKonstantin Belousov.It amd64 Ta 8 Ta 16 Ta 8 1866554316cSKonstantin Belousov.It arm Ta 4 Ta 8 Ta 8 1876554316cSKonstantin Belousov.It armeb Ta 4 Ta 8 Ta 8 1886554316cSKonstantin Belousov.It armv6 Ta 4 Ta 8 Ta 8 1896554316cSKonstantin Belousov.It arm64 Ta 8 Ta 16 Ta 8 1906554316cSKonstantin Belousov.It i386 Ta 4 Ta 12 Ta 4 1916554316cSKonstantin Belousov.It mips Ta 4 Ta 8 Ta 8 1926554316cSKonstantin Belousov.It mipsel Ta 4 Ta 8 Ta 8 1936554316cSKonstantin Belousov.It mipselhf Ta 4 Ta 8 Ta 8 1946554316cSKonstantin Belousov.It mipshf Ta 4 Ta 8 Ta 8 1956554316cSKonstantin Belousov.It mipsn32 Ta 4 Ta 8 Ta 8 1966554316cSKonstantin Belousov.It mips64 Ta 8 Ta 8 Ta 8 1976554316cSKonstantin Belousov.It mips64el Ta 8 Ta 8 Ta 8 1986554316cSKonstantin Belousov.It mips64elhf Ta 8 Ta 8 Ta 8 1996554316cSKonstantin Belousov.It mips64hf Ta 8 Ta 8 Ta 8 2006554316cSKonstantin Belousov.It powerpc Ta 4 Ta 8 Ta 4 201002cc1f9SJustin Hibbits.It powerpcspe Ta 4 Ta 8 Ta 4 2026554316cSKonstantin Belousov.It powerpc64 Ta 8 Ta 8 Ta 8 2034dd67957SJohn Baldwin.It riscv64 Ta 8 Ta 16 Ta 8 2044dd67957SJohn Baldwin.It riscv64sf Ta 8 Ta 16 Ta 8 2056554316cSKonstantin Belousov.It sparc64 Ta 8 Ta 16 Ta 8 206df9330b5SEd Maste.El 207dddb1576SKonstantin Belousov.Pp 208dddb1576SKonstantin Belousov.Sy time_t 209dddb1576SKonstantin Belousovis 8 bytes on all supported architectures except i386 and 32-bit 210dddb1576SKonstantin Belousovvariants of powerpc. 211df9330b5SEd Maste.Ss Endianness and Char Signedness 21242e83752SKonstantin Belousov.Bl -column -offset indent "Sy Architecture" "Sy Endianness" "Sy char Signedness" 213df9330b5SEd Maste.It Sy Architecture Ta Sy Endianness Ta Sy char Signedness 214df9330b5SEd Maste.It amd64 Ta little Ta signed 215df9330b5SEd Maste.It arm Ta little Ta unsigned 216df9330b5SEd Maste.It armeb Ta big Ta unsigned 217df9330b5SEd Maste.It armv6 Ta little Ta unsigned 218df9330b5SEd Maste.It arm64 Ta little Ta unsigned 219df9330b5SEd Maste.It i386 Ta little Ta signed 2208395cdc1SEd Maste.It mips Ta big Ta signed 2218395cdc1SEd Maste.It mipsel Ta little Ta signed 2225bca2215SRuslan Bukin.It mipselhf Ta little Ta signed 2235bca2215SRuslan Bukin.It mipshf Ta big Ta signed 2248395cdc1SEd Maste.It mipsn32 Ta big Ta signed 2258395cdc1SEd Maste.It mips64 Ta big Ta signed 226df9330b5SEd Maste.It mips64el Ta little Ta signed 2275bca2215SRuslan Bukin.It mips64elhf Ta little Ta signed 2285bca2215SRuslan Bukin.It mips64hf Ta big Ta signed 229df9330b5SEd Maste.It powerpc Ta big Ta unsigned 230002cc1f9SJustin Hibbits.It powerpcspe Ta big Ta unsigned 231df9330b5SEd Maste.It powerpc64 Ta big Ta unsigned 2324dd67957SJohn Baldwin.It riscv64 Ta little Ta signed 2334dd67957SJohn Baldwin.It riscv64sf Ta little Ta signed 234df9330b5SEd Maste.It sparc64 Ta big Ta signed 235df9330b5SEd Maste.El 236df9330b5SEd Maste.Ss Page Size 2371859c867SKonstantin Belousov.Bl -column -offset indent "Sy Architecture" "Sy Page Sizes" 238df9330b5SEd Maste.It Sy Architecture Ta Sy Page Sizes 239df9330b5SEd Maste.It amd64 Ta 4K, 2M, 1G 240df9330b5SEd Maste.It arm Ta 4K 241df9330b5SEd Maste.It armeb Ta 4K 242780586e8SEd Maste.It armv6 Ta 4K, 1M 243df9330b5SEd Maste.It arm64 Ta 4K, 2M, 1G 244df9330b5SEd Maste.It i386 Ta 4K, 2M (PAE), 4M 245df9330b5SEd Maste.It mips Ta 4K 246df9330b5SEd Maste.It mipsel Ta 4K 2475bca2215SRuslan Bukin.It mipselhf Ta 4K 2485bca2215SRuslan Bukin.It mipshf Ta 4K 249df9330b5SEd Maste.It mipsn32 Ta 4K 250df9330b5SEd Maste.It mips64 Ta 4K 251df9330b5SEd Maste.It mips64el Ta 4K 2525bca2215SRuslan Bukin.It mips64elhf Ta 4K 2535bca2215SRuslan Bukin.It mips64hf Ta 4K 254df9330b5SEd Maste.It powerpc Ta 4K 255002cc1f9SJustin Hibbits.It powerpcspe Ta 4K 256df9330b5SEd Maste.It powerpc64 Ta 4K 2574dd67957SJohn Baldwin.It riscv64 Ta 4K 2584dd67957SJohn Baldwin.It riscv64sf Ta 4K 259df9330b5SEd Maste.It sparc64 Ta 8K 260df9330b5SEd Maste.El 261df9330b5SEd Maste.Ss Floating Point 2621859c867SKonstantin Belousov.Bl -column -offset indent "Sy Architecture" "Sy float, double" "Sy long double" 263df9330b5SEd Maste.It Sy Architecture Ta Sy float, double Ta Sy long double 264df9330b5SEd Maste.It amd64 Ta hard Ta hard, 80 bit 265df9330b5SEd Maste.It arm Ta soft Ta soft, double precision 266df9330b5SEd Maste.It armeb Ta soft Ta soft, double precision 26745801499SEd Maste.It armv6 Ta hard(1) Ta hard, double precision 268df9330b5SEd Maste.It arm64 Ta hard Ta soft, quad precision 269df9330b5SEd Maste.It i386 Ta hard Ta hard, 80 bit 270df9330b5SEd Maste.It mips Ta soft Ta identical to double 271df9330b5SEd Maste.It mipsel Ta soft Ta identical to double 2725bca2215SRuslan Bukin.It mipselhf Ta hard Ta identical to double 2735bca2215SRuslan Bukin.It mipshf Ta hard Ta identical to double 274df9330b5SEd Maste.It mipsn32 Ta soft Ta identical to double 275df9330b5SEd Maste.It mips64 Ta soft Ta identical to double 276df9330b5SEd Maste.It mips64el Ta soft Ta identical to double 2775bca2215SRuslan Bukin.It mips64elhf Ta hard Ta identical to double 2785bca2215SRuslan Bukin.It mips64hf Ta hard Ta identical to double 279df9330b5SEd Maste.It powerpc Ta hard Ta hard, double precision 280002cc1f9SJustin Hibbits.It powerpcspe Ta hard Ta hard, double precision 281df9330b5SEd Maste.It powerpc64 Ta hard Ta hard, double precision 282cb8c6df4SKevin Lo.It riscv64 Ta hard Ta hard, double precision 283cb8c6df4SKevin Lo.It riscv64sf Ta soft Ta soft, double precision 284df9330b5SEd Maste.It sparc64 Ta hard Ta hard, quad precision 285df9330b5SEd Maste.El 28645801499SEd Maste.Pp 28745801499SEd Maste(1) Prior to 28845801499SEd Maste.Fx 11.0 , 28945801499SEd Mastearmv6 used the softfp ABI even though it supported only processors 29045801499SEd Mastewith a floating point unit. 291df9330b5SEd Maste.Ss Predefined Macros 292df9330b5SEd MasteThe compiler provides a number of predefined macros. 293df9330b5SEd MasteSome of these provide architecture-specific details and are explained below. 294df9330b5SEd MasteOther macros, including those required by the language standard, are not 295df9330b5SEd Masteincluded here. 296df9330b5SEd Maste.Pp 297df9330b5SEd MasteThe full set of predefined macros can be obtained with this command: 298df9330b5SEd Maste.Bd -literal -offset indent 2998e71e112SEd Mastecc -x c -dM -E /dev/null 300df9330b5SEd Maste.Ed 301df9330b5SEd Maste.Pp 302df9330b5SEd MasteCommon type size and endianness macros: 3031859c867SKonstantin Belousov.Bl -column -offset indent "BYTE_ORDER" "Sy Meaning" 304df9330b5SEd Maste.It Sy Macro Ta Sy Meaning 305df9330b5SEd Maste.It Dv __LP64__ Ta 64-bit (8-byte) long and pointer, 32-bit (4-byte) int 306df9330b5SEd Maste.It Dv __ILP32__ Ta 32-bit (4-byte) int, long and pointer 307df9330b5SEd Maste.It Dv BYTE_ORDER Ta Either Dv BIG_ENDIAN or Dv LITTLE_ENDIAN . 3081859c867SKonstantin Belousov.Dv PDP11_ENDIAN 3091859c867SKonstantin Belousovis not used on 3101859c867SKonstantin Belousov.Fx . 311df9330b5SEd Maste.El 312df9330b5SEd Maste.Pp 313df9330b5SEd MasteArchitecture-specific macros: 3141859c867SKonstantin Belousov.Bl -column -offset indent "Sy Architecture" "Sy Predefined macros" 315df9330b5SEd Maste.It Sy Architecture Ta Sy Predefined macros 316df9330b5SEd Maste.It amd64 Ta Dv __amd64__, Dv __x86_64__ 317df9330b5SEd Maste.It arm Ta Dv __arm__ 318df9330b5SEd Maste.It armeb Ta Dv __arm__ 319df9330b5SEd Maste.It armv6 Ta Dv __arm__, Dv __ARM_ARCH >= 6 320df9330b5SEd Maste.It arm64 Ta Dv __aarch64__ 321df9330b5SEd Maste.It i386 Ta Dv __i386__ 322df9330b5SEd Maste.It mips Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_o32 323df9330b5SEd Maste.It mipsel Ta Dv __mips__, Dv __mips_o32 3245bca2215SRuslan Bukin.It mipselhf Ta Dv __mips__, Dv __mips_o32 3255bca2215SRuslan Bukin.It mipshf Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_o32 326df9330b5SEd Maste.It mipsn32 Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_n32 327df9330b5SEd Maste.It mips64 Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_n64 328df9330b5SEd Maste.It mips64el Ta Dv __mips__, Dv __mips_n64 3295bca2215SRuslan Bukin.It mips64elhf Ta Dv __mips__, Dv __mips_n64 3305bca2215SRuslan Bukin.It mips64hf Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_n64 331df9330b5SEd Maste.It powerpc Ta Dv __powerpc__ 332002cc1f9SJustin Hibbits.It powerpcspe Ta Dv __powerpc__, Dv __SPE__ 333df9330b5SEd Maste.It powerpc64 Ta Dv __powerpc__, Dv __powerpc64__ 3344dd67957SJohn Baldwin.It riscv64 Ta Dv __riscv__, Dv __riscv64 3354dd67957SJohn Baldwin.It riscv64sf Ta Dv __riscv__, Dv __riscv64 336df9330b5SEd Maste.It sparc64 Ta Dv __sparc64__ 337df9330b5SEd Maste.El 338df9330b5SEd Maste.Sh SEE ALSO 339df9330b5SEd Maste.Xr src.conf 5 , 340df9330b5SEd Maste.Xr build 7 341df9330b5SEd Maste.Sh HISTORY 342df9330b5SEd MasteAn 343df9330b5SEd Maste.Nm 344df9330b5SEd Mastemanual page appeared in 345df9330b5SEd Maste.Fx 12 . 346