Skip to content

Commit 951dc45

Browse files
authored
Merge pull request #3808 from LemonBoy/i386-for-ya
linux-i386 support
2 parents 11b8d3c + cdeafe7 commit 951dc45

File tree

14 files changed

+940
-10
lines changed

14 files changed

+940
-10
lines changed

lib/std/debug.zig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2417,6 +2417,12 @@ extern fn handleSegfaultLinux(sig: i32, info: *const os.siginfo_t, ctx_ptr: *con
24172417
std.debug.warn("Segmentation fault at address 0x{x}\n", addr);
24182418

24192419
switch (builtin.arch) {
2420+
.i386 => {
2421+
const ctx = @ptrCast(*const os.ucontext_t, @alignCast(@alignOf(os.ucontext_t), ctx_ptr));
2422+
const ip = @intCast(usize, ctx.mcontext.gregs[os.REG_EIP]);
2423+
const bp = @intCast(usize, ctx.mcontext.gregs[os.REG_EBP]);
2424+
dumpStackTraceFromBase(bp, ip);
2425+
},
24202426
.x86_64 => {
24212427
const ctx = @ptrCast(*const os.ucontext_t, @alignCast(@alignOf(os.ucontext_t), ctx_ptr));
24222428
const ip = @intCast(usize, ctx.mcontext.gregs[os.REG_RIP]);

lib/std/os/bits/linux.zig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ pub usingnamespace switch (builtin.arch) {
99
};
1010

1111
pub usingnamespace switch (builtin.arch) {
12+
.i386 => @import("linux/i386.zig"),
1213
.x86_64 => @import("linux/x86_64.zig"),
1314
.aarch64 => @import("linux/arm64.zig"),
1415
.arm => @import("linux/arm-eabi.zig"),

lib/std/os/bits/linux/arm-eabi.zig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,6 @@ pub const MAP_LOCKED = 0x2000;
466466
/// don't check for reservations
467467
pub const MAP_NORESERVE = 0x4000;
468468

469-
pub const VDSO_USEFUL = true;
470469
pub const VDSO_CGT_SYM = "__vdso_clock_gettime";
471470
pub const VDSO_CGT_VER = "LINUX_2.6";
472471

lib/std/os/bits/linux/arm64.zig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,6 @@ pub const MAP_LOCKED = 0x2000;
358358
/// don't check for reservations
359359
pub const MAP_NORESERVE = 0x4000;
360360

361-
pub const VDSO_USEFUL = true;
362361
pub const VDSO_CGT_SYM = "__kernel_clock_gettime";
363362
pub const VDSO_CGT_VER = "LINUX_2.6.39";
364363

0 commit comments

Comments
 (0)