| ... | @@ -993,6 +993,8 @@ const StackIterator = union(enum) { | ... | @@ -993,6 +993,8 @@ const StackIterator = union(enum) { |
| 993 | | 993 | |
| 994 | /// Offset of the saved return address wrt the frame pointer. | 994 | /// Offset of the saved return address wrt the frame pointer. |
| 995 | const ra_offset = off: { | 995 | const ra_offset = off: { |
| | 996 | if (native_arch.isRISCV()) break :off -1 * @sizeOf(usize); |
| | 997 | if (native_arch.isSPARC()) break :off 15 * @sizeOf(usize); |
| 996 | if (native_arch.isPowerPC64()) break :off 2 * @sizeOf(usize); | 998 | if (native_arch.isPowerPC64()) break :off 2 * @sizeOf(usize); |
| 997 | // On s390x, r14 is the link register and we need to grab it from its customary slot in the | 999 | // On s390x, r14 is the link register and we need to grab it from its customary slot in the |
| 998 | // register save area (ELF ABI s390x Supplement §1.2.2.2). | 1000 | // register save area (ELF ABI s390x Supplement §1.2.2.2). |