| ... | ... | @@ -1666,6 +1666,7 @@ const aarch64 = struct { |
| 1666 | 1666 | .LDST64_ABS_LO12_NC, |
| 1667 | 1667 | .LDST128_ABS_LO12_NC, |
| 1668 | 1668 | .PREL32, |
| 1669 | .PREL64, |
| 1669 | 1670 | => {}, |
| 1670 | 1671 | |
| 1671 | 1672 | else => try atom.reportUnhandledRelocError(rel, elf_file), |
| ... | ... | @@ -1727,6 +1728,11 @@ const aarch64 = struct { |
| 1727 | 1728 | mem.writeInt(u32, code, @bitCast(value), .little); |
| 1728 | 1729 | }, |
| 1729 | 1730 | |
| 1731 | .PREL64 => { |
| 1732 | const value = S + A - P; |
| 1733 | mem.writeInt(u64, code_buffer[r_offset..][0..8], @bitCast(value), .little); |
| 1734 | }, |
| 1735 | |
| 1730 | 1736 | .ADR_PREL_PG_HI21 => { |
| 1731 | 1737 | // TODO: check for relaxation of ADRP+ADD |
| 1732 | 1738 | const saddr = @as(u64, @intCast(P)); |