mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-20 22:35:24 +00:00
Improve s390x CPU support (#25056)
TODO list, copied from the documentation: - [x] compiler/platform.nim Add os/cpu properties. - [x] lib/system.nim Add os/cpu to the documentation for system.hostOS and system.hostCPU. - [x] ~~compiler/options.nim Add special os/cpu property checks in isDefined.~~ seems unnecessary; isn't dont for most CPUs - [x] compiler/installer.ini Add os/cpu to Project.Platforms field. - [x] lib/system/platforms.nim Add os/cpu. - [x] ~~std/private/osseps.nim Add os specializations.~~ - [x] ~~lib/pure/distros.nim Add os, package handler.~~ - [x] ~~tools/niminst/makefile.nimf Add os/cpu compiler/linker flags.~~ already done in https://github.com/nim-lang/Nim/pull/20943 - [x] tools/niminst/buildsh.nimf Add os/cpu compiler/linker flags. For csource: - [x] have compiler/platform.nim updated - [x] have compiler/installer.ini updated - [x] have tools/niminst/buildsh.nimf updated - [x] have tools/niminst/makefile.nimf updated - [ ] be backported to the Nim version used by the csources - [ ] the new csources must be pushed - [ ] the new csources revision must be updated in config/build_config.txt Additionally: - [x] check relation to https://github.com/nim-lang/Nim/pull/20943 Possible future work: - Porting Nim to s390x-specific operating systems, notably z/OS Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
This commit is contained in:
@@ -6,7 +6,7 @@ Name: "Nim"
|
||||
Version: "$version"
|
||||
Platforms: """
|
||||
windows: i386;amd64
|
||||
linux: i386;hppa;ia64;alpha;amd64;powerpc64;arm;sparc;sparc64;m68k;mips;mipsel;mips64;mips64el;powerpc;powerpc64el;arm64;riscv32;riscv64;loongarch64
|
||||
linux: i386;hppa;ia64;alpha;amd64;powerpc64;arm;sparc;sparc64;s390x;m68k;mips;mipsel;mips64;mips64el;powerpc;powerpc64el;arm64;riscv32;riscv64;loongarch64
|
||||
macosx: i386;amd64;powerpc64;arm64
|
||||
solaris: i386;amd64;sparc;sparc64
|
||||
freebsd: i386;amd64;powerpc64;arm;arm64;riscv64;sparc64;mips;mipsel;mips64;mips64el;powerpc;powerpc64el
|
||||
|
||||
@@ -210,8 +210,8 @@ type
|
||||
cpuNone, cpuI386, cpuM68k, cpuAlpha, cpuPowerpc, cpuPowerpc64,
|
||||
cpuPowerpc64el, cpuSparc, cpuVm, cpuHppa, cpuIa64, cpuAmd64, cpuMips,
|
||||
cpuMipsel, cpuArm, cpuArm64, cpuJS, cpuNimVM, cpuAVR, cpuMSP430,
|
||||
cpuSparc64, cpuMips64, cpuMips64el, cpuRiscV32, cpuRiscV64, cpuEsp, cpuWasm32,
|
||||
cpuE2k, cpuLoongArch64
|
||||
cpuSparc64, cpuS390x, cpuMips64, cpuMips64el, cpuRiscV32, cpuRiscV64,
|
||||
cpuEsp, cpuWasm32, cpuE2k, cpuLoongArch64
|
||||
|
||||
type
|
||||
TInfoCPU* = tuple[name: string, intSize: int, endian: Endianness,
|
||||
@@ -241,6 +241,7 @@ const
|
||||
(name: "avr", intSize: 16, endian: littleEndian, floatSize: 32, bit: 16),
|
||||
(name: "msp430", intSize: 16, endian: littleEndian, floatSize: 32, bit: 16),
|
||||
(name: "sparc64", intSize: 64, endian: bigEndian, floatSize: 64, bit: 64),
|
||||
(name: "s390x", intSize: 64, endian: bigEndian, floatSize: 64, bit: 64),
|
||||
(name: "mips64", intSize: 64, endian: bigEndian, floatSize: 64, bit: 64),
|
||||
(name: "mips64el", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64),
|
||||
(name: "riscv32", intSize: 32, endian: littleEndian, floatSize: 64, bit: 32),
|
||||
|
||||
Reference in New Issue
Block a user