Commit b470d2a7de

Alex Rønne Petersen <alex@alexrp.com>
2024-08-12 03:51:48
std.debug: Support sparc32 in StackIterator.init().
1 parent dc77d1b
Changed files (1)
lib
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");
         }