aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os
diff options
context:
space:
mode:
authorTimon Kruiper <timonkruiper@gmail.com>2020-04-21 18:42:21 +0200
committerAndrew Kelley <andrew@ziglang.org>2020-04-24 15:28:55 -0400
commitc829f2f7b7c5bdd13d3c39ae2960ed108393a210 (patch)
treef93b1df14908722f4e587f438102813067e3a4c6 /lib/std/os
parenta9eb4a6740e0bb00e1984de3768a7de6001c25dd (diff)
downloadzig-c829f2f7b7c5bdd13d3c39ae2960ed108393a210.tar.gz
zig-c829f2f7b7c5bdd13d3c39ae2960ed108393a210.zip
Add mips support to standard library
Diffstat (limited to 'lib/std/os')
-rw-r--r--lib/std/os/bits/linux.zig2
-rw-r--r--lib/std/os/bits/linux/mips.zig (renamed from lib/std/os/bits/linux/mipsel.zig)0
-rw-r--r--lib/std/os/linux.zig2
-rw-r--r--lib/std/os/linux/mips.zig (renamed from lib/std/os/linux/mipsel.zig)0
-rw-r--r--lib/std/os/linux/tls.zig10
5 files changed, 7 insertions, 7 deletions
diff --git a/lib/std/os/bits/linux.zig b/lib/std/os/bits/linux.zig
index 6f4e9b803d..1d2a957036 100644
--- a/lib/std/os/bits/linux.zig
+++ b/lib/std/os/bits/linux.zig
@@ -14,7 +14,7 @@ pub usingnamespace switch (builtin.arch) {
.aarch64 => @import("linux/arm64.zig"),
.arm => @import("linux/arm-eabi.zig"),
.riscv64 => @import("linux/riscv64.zig"),
- .mipsel => @import("linux/mipsel.zig"),
+ .mips, .mipsel => @import("linux/mips.zig"),
else => struct {},
};
diff --git a/lib/std/os/bits/linux/mipsel.zig b/lib/std/os/bits/linux/mips.zig
index 5946e821ad..5946e821ad 100644
--- a/lib/std/os/bits/linux/mipsel.zig
+++ b/lib/std/os/bits/linux/mips.zig
diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig
index 87ee198985..5631a90ef9 100644
--- a/lib/std/os/linux.zig
+++ b/lib/std/os/linux.zig
@@ -19,7 +19,7 @@ pub usingnamespace switch (builtin.arch) {
.aarch64 => @import("linux/arm64.zig"),
.arm => @import("linux/arm-eabi.zig"),
.riscv64 => @import("linux/riscv64.zig"),
- .mipsel => @import("linux/mipsel.zig"),
+ .mips, .mipsel => @import("linux/mips.zig"),
else => struct {},
};
pub usingnamespace @import("bits.zig");
diff --git a/lib/std/os/linux/mipsel.zig b/lib/std/os/linux/mips.zig
index 87c55db9f6..87c55db9f6 100644
--- a/lib/std/os/linux/mipsel.zig
+++ b/lib/std/os/linux/mips.zig
diff --git a/lib/std/os/linux/tls.zig b/lib/std/os/linux/tls.zig
index e7d836eff6..8cba45d4b3 100644
--- a/lib/std/os/linux/tls.zig
+++ b/lib/std/os/linux/tls.zig
@@ -48,7 +48,7 @@ const TLSVariant = enum {
};
const tls_variant = switch (builtin.arch) {
- .arm, .armeb, .aarch64, .aarch64_be, .riscv32, .riscv64, .mipsel => TLSVariant.VariantI,
+ .arm, .armeb, .aarch64, .aarch64_be, .riscv32, .riscv64, .mips, .mipsel => TLSVariant.VariantI,
.x86_64, .i386 => TLSVariant.VariantII,
else => @compileError("undefined tls_variant for this architecture"),
};
@@ -64,7 +64,7 @@ const tls_tcb_size = switch (builtin.arch) {
// Controls if the TP points to the end of the TCB instead of its beginning
const tls_tp_points_past_tcb = switch (builtin.arch) {
- .riscv32, .riscv64, .mipsel, .powerpc64, .powerpc64le => true,
+ .riscv32, .riscv64, .mips, .mipsel, .powerpc64, .powerpc64le => true,
else => false,
};
@@ -72,12 +72,12 @@ const tls_tp_points_past_tcb = switch (builtin.arch) {
// make the generated code more efficient
const tls_tp_offset = switch (builtin.arch) {
- .mipsel => 0x7000,
+ .mips, .mipsel => 0x7000,
else => 0,
};
const tls_dtv_offset = switch (builtin.arch) {
- .mipsel => 0x8000,
+ .mips, .mipsel => 0x8000,
.riscv32, .riscv64 => 0x800,
else => 0,
};
@@ -156,7 +156,7 @@ pub fn setThreadPointer(addr: usize) void {
: [addr] "r" (addr)
);
},
- .mipsel => {
+ .mips, .mipsel => {
const rc = std.os.linux.syscall1(.set_thread_area, addr);
assert(rc == 0);
},