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 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 "*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 You'll also have to set up all the "Mf-*machine-type*" makefiles and
update "configure", "cmacro.ss", and "version.h" (plus maybe other update "configure", "cmacro.ss", and "version.h"---plus maybe other
files). Once you have all of the pieces working together, you files, such as "workarea" if you create new dependencies among "Mf-"
cross-compile boot files, then copy them over to the the new machine or ".def" files (e.g., "workarea" needs to know that "a6nt.def" uses
to start compiling there. "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 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 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 # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
m = a6fb m ?= a6fb
archincludes = x86_64.ss archincludes = x86_64.ss
include Mf-base include Mf-base

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -13,7 +13,9 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
m = arm32le m ?= arm32le
archincludes = arm32.ss archincludes = arm32.ss
include Mf-base 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 # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
m = i3fb m ?= i3fb
archincludes = x86.ss archincludes = x86.ss
include Mf-base include Mf-base

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -14,6 +14,5 @@
# limitations under the License. # limitations under the License.
m = tppc32le 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. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6fb)) (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) (features iconv expeditor)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6le)) (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) (features iconv expeditor)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6nb)) (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) (features iconv expeditor)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,7 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6nt)) (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) (features iconv expeditor windows)
(include "a6.def")
(include "nt.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6ob)) (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) (features iconv expeditor)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6osx)) (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) (features iconv expeditor)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-a6s2)) (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) (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. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-arm32le)) (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) (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) #'(eval-when (compile load eval)
(putprop 'x '*constant* y)))))) (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) (eval-when (compile load eval)
(define lookup-constant (define lookup-constant
(let ([flag (box #f)]) (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. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3fb)) (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) (features iconv expeditor)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3le)) (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) (features iconv expeditor)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3nb)) (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) (features iconv expeditor)
(include "i3.def")
(include "default.def")

View File

@ -14,40 +14,7 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3nt)) (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) (features iconv expeditor windows)
(include "i3.def")
(include "nt.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3ob)) (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) (features iconv expeditor)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3osx)) (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) (features iconv expeditor)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,8 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3qnx)) (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) (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. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-i3s2)) (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) (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 ;;; pb.def
(define-constant machine-type (constant machine-type-pb)) (define-constant machine-type (constant machine-type-pb))
(features)
(define-constant architecture 'pb) (define-constant architecture 'pb)
(define-constant address-bits 64)
(define-constant ptr-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-ptr "uint64_t") ; not "void *"
(define-constant typedef-iptr "int64_t") (define-constant typedef-iptr "int64_t")
(define-constant typedef-uptr "uint64_t") (define-constant typedef-uptr "uint64_t")
@ -29,11 +18,19 @@
(define-constant typedef-i64 "int64_t") (define-constant typedef-i64 "int64_t")
(define-constant typedef-u64 "uint64_t") (define-constant typedef-u64 "uint64_t")
(define-constant typedef-string-char "uint32_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 native-endianness 'unknown)
(define-constant unaligned-floats #f) (define-constant unaligned-floats #f)
(define-constant unaligned-integers #f) (define-constant unaligned-integers #f)
(define-constant integer-divide-instruction #t) (define-constant integer-divide-instruction #t)
(define-constant popcount-instruction #f)
(define-constant software-floating-point #f) (include "default.def")
(define-constant segment-table-levels 3)
(features)

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. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ppc32le)) (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) (features iconv expeditor)
(include "ppc32.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6fb)) (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) (features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6le)) (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) (features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6nb)) (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) (features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,7 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6nt)) (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) (features iconv expeditor pthreads windows)
(include "a6.def")
(include "nt.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6ob)) (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) (features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6osx)) (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) (features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ta6s2)) (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) (features iconv expeditor pthreads)
(include "a6.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-tarm32le)) (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) (features iconv expeditor pthreads)
(include "arm32.def")
(include "default.def")

View File

@ -1,39 +1,6 @@
;;; tarm64le.def ;;; tarm64le.def
(define-constant machine-type (constant machine-type-tarm64le)) (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) (features iconv expeditor pthreads)
(include "arm64.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3fb)) (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) (features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3le)) (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) (features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3nb)) (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) (features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,40 +14,7 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3nt)) (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) (features iconv expeditor pthreads windows)
(include "i3.def")
(include "nt.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3ob)) (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) (features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3osx)) (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) (features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-ti3s2)) (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) (features iconv expeditor pthreads)
(include "i3.def")
(include "default.def")

View File

@ -14,39 +14,6 @@
;;; limitations under the License. ;;; limitations under the License.
(define-constant machine-type (constant machine-type-tppc32le)) (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) (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 ;; *) echo "Unrecognized machine name $M"; exit 1 ;;
esac 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" ] if [ "$OS" = "Windows_NT" ]
then then
ln="/bin/cp -R" ln="/bin/cp -R"
@ -160,10 +194,20 @@ esac
workdir $W/s workdir $W/s
(cd $W/s; workln ../../s/Mf-$M Mf-$M) (cd $W/s; workln ../../s/Mf-$M Mf-$M)
(cd $W/s; forceworkln Mf-$M Makefile) (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-base Mf-base)
(cd $W/s; workln ../../s/Mf-cross Mf-cross) (cd $W/s; workln ../../s/Mf-cross Mf-cross)
(cd $W/s; workln ../../s/$M.def $M.def) (cd $W/s; workln ../../s/$M.def $M.def)
(cd $W/s; forceworkln2 $M.def machine.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 workdir $W/mats
(cd $W/mats; workln ../../mats/Mf-$M Mf-$M) (cd $W/mats; workln ../../mats/Mf-$M Mf-$M)