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:
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,