reduce duplication of OS & architecture info in "s/*.def"

For example, if the number of floating-point registers in "x86_64.ss"
changes, now only one ".def" file has to change instead of 14 ".def"
files.

original commit: c79524cc3eb516d9bee1708c06b80e3688fdd2ff
This commit is contained in:
Matthew Flatt 2020-07-25 09:31:04 -06:00
parent d6c5abe542
commit 29bdb304cf
74 changed files with 328 additions and 1253 deletions

View File

@ -84,12 +84,14 @@ Scheme compiler the C kernel needs to do its job.
Most of the work of porting to a new platform is producing a new
"*machine-type*.def" file, which (except in simple ports to a new
operating system) will require a new "*isa*.ss" compiler backend.
operating system) will require a new "*ISA*.ss" compiler backend.
You'll also have to set up all the "Mf-*machine-type*" makefiles and
update "configure", "cmacro.ss", and "version.h" (plus maybe other
files). Once you have all of the pieces working together, you
cross-compile boot files, then copy them over to the the new machine
to start compiling there.
update "configure", "cmacro.ss", and "version.h"---plus maybe other
files, such as "workarea" if you create new dependencies among "Mf-"
or ".def" files (e.g., "workarea" needs to know that "a6nt.def" uses
"a6.def" and "nt.def"). Once you have all of the pieces working
together, you cross-compile boot files, then copy them over to the the
new machine to start compiling there.
You can port to a new operating system by imitating the files of a
similar supported oerating system, but building a new backend for a

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = a6fb
m ?= a6fb
archincludes = x86_64.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = a6le
m ?= a6le
archincludes = x86_64.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = a6nb
m ?= a6nb
archincludes = x86_64.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = a6nt
m ?= a6nt
archincludes = x86_64.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = a6ob
m ?= a6ob
archincludes = x86_64.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = a6osx
m ?= a6osx
archincludes = x86_64.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = a6s2
m ?= a6s2
archincludes = x86_64.ss
include Mf-base

View File

@ -13,7 +13,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = arm32le
m ?= arm32le
archincludes = arm32.ss
include Mf-base
machine.def: arm32.def

21
s/Mf-arm64le Normal file
View File

@ -0,0 +1,21 @@
# Mf-tarm64le
# Copyright 1984-2017 Cisco Systems, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
m ?= arm64le
archincludes = arm64.ss
include Mf-base
machine.def: arm64.def

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = i3fb
m ?= i3fb
archincludes = x86.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = i3le
m ?= i3le
archincludes = x86.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = i3nb
m ?= i3nb
archincludes = x86.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = i3nt
m ?= i3nt
archincludes = x86.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = i3ob
m ?= i3ob
archincludes = x86.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = i3osx
m ?= i3osx
archincludes = x86.ss
include Mf-base

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = i3s2
m ?= i3s2
archincludes = x86.ss
include Mf-base

View File

@ -13,7 +13,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
m = ppc32le
m ?= ppc32le
archincludes = ppc32.ss
include Mf-base
machine.def: ppc32.def

View File

@ -14,6 +14,5 @@
# limitations under the License.
m = ta6fb
archincludes = x86_64.ss
include Mf-base
include Mf-a6fb

View File

@ -14,6 +14,5 @@
# limitations under the License.
m = ta6le
archincludes = x86_64.ss
include Mf-base
include Mf-a6le

View File

@ -14,6 +14,5 @@
# limitations under the License.
m = ta6nb
archincludes = x86_64.ss
include Mf-base
include Mf-a6nb

View File

@ -14,6 +14,5 @@
# limitations under the License.
m = ta6nt
archincludes = x86_64.ss
include Mf-base
include Mf-a6nt

View File

@ -14,6 +14,5 @@
# limitations under the License.
m = ta6ob
archincludes = x86_64.ss
include Mf-base
include Mf-a6ob

View File

@ -14,6 +14,5 @@
# limitations under the License.
m = ta6osx
archincludes = x86_64.ss
include Mf-base
include Mf-a6osx

View File

@ -14,6 +14,5 @@
# limitations under the License.
m = ta6s2
archincludes = x86_64.ss
include Mf-base
include Mf-a6s2

View File

@ -14,6 +14,5 @@
# limitations under the License.
m = tarm32le
archincludes = arm32.ss
include Mf-base
include Mf-arm32le

View File

@ -14,6 +14,5 @@
# limitations under the License.
m = tarm64le
archincludes = arm64.ss
include Mf-base
include Mf-arm64le

View File

@ -14,6 +14,5 @@
# limitations under the License.
m = ti3nt
archincludes = x86.ss
include Mf-base
include Mf-i3nt

View File

@ -14,6 +14,5 @@
# limitations under the License.
m = tppc32le
archincludes = ppc32.ss
include Mf-base
include Mf-ppc32le

13
s/a6.def Normal file
View File

@ -0,0 +1,13 @@
(define-constant architecture 'x86_64)
(define-constant ptr-bits 64)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6fb))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6le))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6nb))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,7 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6nt))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 16)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long long int")
(define-constant typedef-uptr "unsigned long long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor windows)
(include "a6.def")
(include "nt.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6ob))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6osx))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6s2))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor)
(include "a6.def")
(include "default.def")

14
s/arm32.def Normal file
View File

@ -0,0 +1,14 @@
(define-constant architecture 'arm32)
(define-constant ptr-bits 32)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant native-endianness 'little)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant unaligned-floats #f)
(define-constant unaligned-integers #t)

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-arm32le))
(define-constant architecture 'arm32)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #f)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #f)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor)
(include "arm32.def")
(include "default.def")

11
s/arm64.def Normal file
View File

@ -0,0 +1,11 @@
(define-constant architecture 'arm64)
(define-constant ptr-bits 64)
(define-constant asm-arg-reg-max 9)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant native-endianness 'little)
(define-constant unaligned-floats #f)
(define-constant unaligned-integers #t)

6
s/arm64le.def Normal file
View File

@ -0,0 +1,6 @@
;;; arm64le.def
(define-constant machine-type (constant machine-type-arm64le))
(features iconv expeditor)
(include "arm64.def")
(include "default.def")

View File

@ -41,6 +41,15 @@
#'(eval-when (compile load eval)
(putprop 'x '*constant* y))))))
(define-syntax define-constant-default
(lambda (x)
(syntax-case x ()
((_ x y)
(identifier? #'x)
#'(eval-when (compile load eval)
(unless (getprop 'x '*constant* #f)
(putprop 'x '*constant* y)))))))
(eval-when (compile load eval)
(define lookup-constant
(let ([flag (box #f)])

44
s/default.def Normal file
View File

@ -0,0 +1,44 @@
;; types that are right for most platforms:
(define-constant-default int-bits 32)
(define-constant-default short-bits 16)
(define-constant-default typedef-ptr "void *")
(define-constant-default typedef-iptr "long")
(define-constant-default typedef-uptr "unsigned long")
(define-constant-default typedef-i8 "char")
(define-constant-default typedef-u8 "unsigned char")
(define-constant-default typedef-i16 "short")
(define-constant-default typedef-u16 "unsigned short")
(define-constant-default typedef-i32 "int")
(define-constant-default typedef-u32 "unsigned int")
(define-constant-default typedef-i64 (if (= 64 (constant ptr-bits))
"long"
"long long"))
(define-constant-default typedef-u64 (if (= 64 (constant ptr-bits))
"unsigned long"
"unsigned long long"))
(define-constant-default typedef-string-char "unsigned int")
(define-constant-default wchar-bits 32)
;; derivations that are usually right
(define-constant-default address-bits (constant ptr-bits))
(define-constant-default size_t-bits (constant ptr-bits))
(define-constant-default ptrdiff_t-bits (constant ptr-bits))
(define-constant-default long-bits (constant ptr-bits))
(define-constant-default long-long-bits 64)
(define-constant-default max-float-alignment (if (= 64 (constant ptr-bits))
8
4))
(define-constant-default max-integer-alignment (if (= 64 (constant ptr-bits))
8
4))
(define-constant-default time-t-bits (constant ptr-bits))
(define-constant-default segment-table-levels (if (= 64 (constant ptr-bits))
3
1))
;; instruction availability (defaults to unavailable)
(define-constant-default integer-divide-instruction #f)
(define-constant-default popcount-instruction #f)
(define-constant-default sqrt-instruction #f)
(define-constant-default fence-instruction #f)
(define-constant-default software-floating-point #f)

12
s/i3.def Normal file
View File

@ -0,0 +1,12 @@
(define-constant architecture 'x86)
(define-constant ptr-bits 32)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3fb))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3le))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3nb))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor)
(include "i3.def")
(include "default.def")

View File

@ -14,40 +14,7 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3nt))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 16)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long")
(define-constant typedef-uptr "unsigned long")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant thread-handle-uptrs 1)
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor windows)
(include "i3.def")
(include "nt.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3ob))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3osx))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,8 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3qnx))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 2)
(features iconv expeditor)
(define-constant max-integer-alignment 8)
(define-constant segment-table-levels 2)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3s2))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor)
(include "i3.def")
(include "default.def")

13
s/nt.def Normal file
View File

@ -0,0 +1,13 @@
(define-constant wchar-bits 16)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant typedef-iptr (if (= 64 (constant ptr-bits))
"long long int"
"long"))
(define-constant typedef-uptr (if (= 64 (constant ptr-bits))
"unsigned long long int"
"unsigned long"))
(define-constant long-bits 32)

View File

@ -1,22 +1,11 @@
;;; pb.def
(define-constant machine-type (constant machine-type-pb))
(features)
(define-constant architecture 'pb)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 7)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 8)
(define-constant typedef-ptr "uint64_t") ; not "void *"
(define-constant typedef-iptr "int64_t")
(define-constant typedef-uptr "uint64_t")
@ -29,11 +18,19 @@
(define-constant typedef-i64 "int64_t")
(define-constant typedef-u64 "uint64_t")
(define-constant typedef-string-char "uint32_t")
(define-constant asm-arg-reg-max 7)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 8)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant native-endianness 'unknown)
(define-constant unaligned-floats #f)
(define-constant unaligned-integers #f)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features)
(include "default.def")

14
s/ppc32.def Normal file
View File

@ -0,0 +1,14 @@
(define-constant architecture 'ppc32)
(define-constant ptr-bits 32)
(define-constant asm-arg-reg-max 14)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant native-endianness 'big)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant unaligned-floats #f)
(define-constant unaligned-integers #t)

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ppc32le))
(define-constant architecture 'ppc32)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 14)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'big)
(define-constant unaligned-floats #f)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #f)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor)
(include "ppc32.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6fb))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6le))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6nb))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,7 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6nt))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 16)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long long int")
(define-constant typedef-uptr "unsigned long long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor pthreads windows)
(include "a6.def")
(include "nt.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6ob))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6osx))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6s2))
(define-constant architecture 'x86_64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long int")
(define-constant typedef-uptr "unsigned long int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #t)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-tarm32le))
(define-constant architecture 'arm32)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 5)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #f)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #f)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor pthreads)
(include "arm32.def")
(include "default.def")

View File

@ -1,39 +1,6 @@
;;; tarm64le.def
(define-constant machine-type (constant machine-type-tarm64le))
(define-constant architecture 'arm64)
(define-constant address-bits 64)
(define-constant ptr-bits 64)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 64)
(define-constant long-long-bits 64)
(define-constant size_t-bits 64)
(define-constant ptrdiff_t-bits 64)
(define-constant wchar-bits 32)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 9)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long")
(define-constant typedef-uptr "unsigned long")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long")
(define-constant typedef-u64 "unsigned long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #f)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #f)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 3)
(features iconv expeditor pthreads)
(include "arm64.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3fb))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3le))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3nb))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,40 +14,7 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3nt))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 16)
(define-constant time-t-bits 64)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "long")
(define-constant typedef-uptr "unsigned long")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant thread-handle-uptrs 2)
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor pthreads windows)
(include "i3.def")
(include "nt.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3ob))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3osx))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3s2))
(define-constant architecture 'x86)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 4)
(define-constant max-integer-alignment 4)
(define-constant asm-arg-reg-max 1)
(define-constant asm-arg-reg-cnt 1)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'little)
(define-constant unaligned-floats #t)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License.
(define-constant machine-type (constant machine-type-tppc32le))
(define-constant architecture 'ppc32)
(define-constant address-bits 32)
(define-constant ptr-bits 32)
(define-constant int-bits 32)
(define-constant short-bits 16)
(define-constant long-bits 32)
(define-constant long-long-bits 64)
(define-constant size_t-bits 32)
(define-constant ptrdiff_t-bits 32)
(define-constant wchar-bits 32)
(define-constant time-t-bits 32)
(define-constant max-float-alignment 8)
(define-constant max-integer-alignment 8)
(define-constant asm-arg-reg-max 14)
(define-constant asm-arg-reg-cnt 3)
(define-constant asm-fpreg-max 2)
(define-constant typedef-ptr "void *")
(define-constant typedef-iptr "int")
(define-constant typedef-uptr "unsigned int")
(define-constant typedef-i8 "char")
(define-constant typedef-u8 "unsigned char")
(define-constant typedef-i16 "short")
(define-constant typedef-u16 "unsigned short")
(define-constant typedef-i32 "int")
(define-constant typedef-u32 "unsigned int")
(define-constant typedef-i64 "long long")
(define-constant typedef-u64 "unsigned long long")
(define-constant typedef-string-char "unsigned int")
(define-constant native-endianness 'big)
(define-constant unaligned-floats #f)
(define-constant unaligned-integers #t)
(define-constant integer-divide-instruction #f)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f)
(define-constant segment-table-levels 1)
(features iconv expeditor pthreads)
(include "ppc32.def")
(include "default.def")

View File

@ -79,6 +79,40 @@ case "$M" in
*) echo "Unrecognized machine name $M"; exit 1 ;;
esac
if [ "$Muni" != "" ] ; then
Muniarch=$Muni
else
Muniarch=$M
fi
case "$Muniarch" in
a6fb) March=a6 ;;
a6le) March=a6 ;;
a6nb) March=a6 ;;
a6nt) March=a6 ;;
a6ob) March=a6 ;;
a6osx) March=a6 ;;
a6s2) March=a6 ;;
arm32le) March=arm32 ;;
arm64le) March=arm64 ;;
i3fb) March=i3 ;;
i3le) March=i3 ;;
i3nb) March=i3 ;;
i3nt) March=i3 ;;
i3ob) March=i3 ;;
i3osx) March=i3 ;;
i3qnx) March=i3 ;;
i3s2) March=i3 ;;
ppc32le) March=ppc32 ;;
*) March="" ;;
esac
case "$Muniarch" in
a6nt) Mos=nt ;;
i3nt) Mos=nt ;;
*) Mos="" ;;
esac
if [ "$OS" = "Windows_NT" ]
then
ln="/bin/cp -R"
@ -160,10 +194,20 @@ esac
workdir $W/s
(cd $W/s; workln ../../s/Mf-$M Mf-$M)
(cd $W/s; forceworkln Mf-$M Makefile)
if [ "$Muni" != "" ] ; then
(cd $W/s; workln ../../s/Mf-$Muni Mf-$Muni)
fi
(cd $W/s; workln ../../s/Mf-base Mf-base)
(cd $W/s; workln ../../s/Mf-cross Mf-cross)
(cd $W/s; workln ../../s/$M.def $M.def)
(cd $W/s; forceworkln2 $M.def machine.def)
if [ "$March" != "" ] ; then
(cd $W/s; workln ../../s/$March.def $March.def)
fi
if [ "$Mos" != "" ] ; then
(cd $W/s; workln ../../s/$Mos.def $Mos.def)
fi
(cd $W/s; workln ../../s/default.def default.def)
workdir $W/mats
(cd $W/mats; workln ../../mats/Mf-$M Mf-$M)