| ... | @@ -952,6 +952,9 @@ const StackIterator = union(enum) { | ... | @@ -952,6 +952,9 @@ const StackIterator = union(enum) { |
| 952 | /// Offset of the saved return address wrt the frame pointer. | 952 | /// Offset of the saved return address wrt the frame pointer. |
| 953 | const ra_offset = off: { | 953 | const ra_offset = off: { |
| 954 | if (native_arch == .powerpc64le) break :off 2 * @sizeOf(usize); | 954 | if (native_arch == .powerpc64le) break :off 2 * @sizeOf(usize); |
| | 955 | // On s390x, r14 is the link register and we need to grab it from its customary slot in the |
| | 956 | // register save area (ELF ABI s390x Supplement §1.2.2.2). |
| | 957 | if (native_arch == .s390x) break :off 14 * @sizeOf(usize); |
| 955 | break :off @sizeOf(usize); | 958 | break :off @sizeOf(usize); |
| 956 | }; | 959 | }; |
| 957 | | 960 | |