zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit d82eb8dd404b5971d3469bdd1a5ed6907fbbb281 (tree)
parent c8753aceef07161aa9b7d2eab75524042bcbc8bb
Author: LemonBoy <thatlemon@gmail.com>
Date:   Tue, 20 Apr 2021 22:04:48 +0200

std: Split syscall parameters for PowerPC targets

Diffstat:
Mlib/std/os/linux.zig | 1+
Mlib/std/target.zig | 7+++++++
2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig @@ -52,6 +52,7 @@ pub fn getauxval(index: usize) usize { // Some architectures (and some syscalls) require 64bit parameters to be passed // in a even-aligned register pair. const require_aligned_register_pair = + std.Target.current.cpu.arch.isPPC() or std.Target.current.cpu.arch.isMIPS() or std.Target.current.cpu.arch.isARM() or std.Target.current.cpu.arch.isThumb(); diff --git a/lib/std/target.zig b/lib/std/target.zig @@ -800,6 +800,13 @@ pub const Target = struct { }; } + pub fn isPPC(arch: Arch) bool { + return switch (arch) { + .powerpc, .powerpcle => true, + else => false, + }; + } + pub fn isPPC64(arch: Arch) bool { return switch (arch) { .powerpc64, .powerpc64le => true,