diff --git a/lib/std/debug.zig b/lib/std/debug.zig index a3a8a533eed0..5ddc751f3d4e 100644 --- a/lib/std/debug.zig +++ b/lib/std/debug.zig @@ -567,10 +567,12 @@ pub const StackIterator = struct { } else void = if (have_ucontext) null else {}, pub fn init(first_address: ?usize, fp: ?usize) StackIterator { - if (native_arch == .sparc64) { + if (native_arch.isSPARC()) { // Flush all the register windows on stack. - asm volatile ( - \\ flushw + asm volatile (if (std.Target.sparc.featureSetHas(builtin.cpu.features, .v9)) + "flushw" + else + "ta 3" // ST_FLUSH_WINDOWS ::: "memory"); }