| ... | @@ -175,18 +175,12 @@ pub const runtime_safety = switch (builtin.mode) { | ... | @@ -175,18 +175,12 @@ pub const runtime_safety = switch (builtin.mode) { |
| 175 | .ReleaseFast, .ReleaseSmall => false, | 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 | pub const sys_can_stack_trace = switch (builtin.cpu.arch) { | 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 | // `@returnAddress()` in LLVM 10 gives | 184 | // `@returnAddress()` in LLVM 10 gives |
| 191 | // "Non-Emscripten WebAssembly hasn't implemented __builtin_return_address". | 185 | // "Non-Emscripten WebAssembly hasn't implemented __builtin_return_address". |
| 192 | // On Emscripten, Zig only supports `@returnAddress()` in debug builds | 186 | // On Emscripten, Zig only supports `@returnAddress()` in debug builds |
| ... | @@ -1178,9 +1172,10 @@ pub const have_segfault_handling_support = switch (native_os) { | ... | @@ -1178,9 +1172,10 @@ pub const have_segfault_handling_support = switch (native_os) { |
| 1178 | .solaris, | 1172 | .solaris, |
| 1179 | .illumos, | 1173 | .illumos, |
| 1180 | .windows, | 1174 | .windows, |
| | 1175 | .freebsd, |
| | 1176 | .openbsd, |
| 1181 | => true, | 1177 | => true, |
| 1182 | | 1178 | |
| 1183 | .freebsd, .openbsd => cpu_context.Native != noreturn, | | |
| 1184 | else => false, | 1179 | else => false, |
| 1185 | }; | 1180 | }; |
| 1186 | | 1181 | |