| ... | ... | @@ -175,18 +175,12 @@ pub const runtime_safety = switch (builtin.mode) { |
| 175 | 175 | .ReleaseFast, .ReleaseSmall => false, |
| 176 | 176 | }; |
| 177 | 177 | |
| 178 | /// Whether we can unwind the stack on this target, allowing capturing and/or printing the current |
| 179 | /// stack trace. It is still legal to call `captureCurrentStackTrace`, `writeCurrentStackTrace`, and |
| 180 | /// `dumpCurrentStackTrace` if this is `false`; it will just print an error / capture an empty |
| 181 | /// trace due to missing functionality. This value is just intended as a heuristic to avoid |
| 182 | /// pointless work e.g. capturing always-empty stack traces. |
| 178 | 183 | pub const sys_can_stack_trace = switch (builtin.cpu.arch) { |
| 179 | | // Observed to go into an infinite loop. |
| 180 | | // TODO: Make this work. |
| 181 | | .loongarch32, |
| 182 | | .loongarch64, |
| 183 | | .mips, |
| 184 | | .mipsel, |
| 185 | | .mips64, |
| 186 | | .mips64el, |
| 187 | | .s390x, |
| 188 | | => false, |
| 189 | | |
| 190 | 184 | // `@returnAddress()` in LLVM 10 gives |
| 191 | 185 | // "Non-Emscripten WebAssembly hasn't implemented __builtin_return_address". |
| 192 | 186 | // On Emscripten, Zig only supports `@returnAddress()` in debug builds |
| ... | ... | @@ -1178,9 +1172,10 @@ pub const have_segfault_handling_support = switch (native_os) { |
| 1178 | 1172 | .solaris, |
| 1179 | 1173 | .illumos, |
| 1180 | 1174 | .windows, |
| 1175 | .freebsd, |
| 1176 | .openbsd, |
| 1181 | 1177 | => true, |
| 1182 | 1178 | |
| 1183 | | .freebsd, .openbsd => cpu_context.Native != noreturn, |
| 1184 | 1179 | else => false, |
| 1185 | 1180 | }; |
| 1186 | 1181 | |