| ... | ... | @@ -11,30 +11,42 @@ pub const Kind = enum { |
| 11 | 11 | tlsdesc, |
| 12 | 12 | }; |
| 13 | 13 | |
| 14 | | const x86_64_relocs = [_]struct { Kind, u32 }{ |
| 15 | | .{ .abs, elf.R_X86_64_64 }, |
| 16 | | .{ .copy, elf.R_X86_64_COPY }, |
| 17 | | .{ .rel, elf.R_X86_64_RELATIVE }, |
| 18 | | .{ .irel, elf.R_X86_64_IRELATIVE }, |
| 19 | | .{ .glob_dat, elf.R_X86_64_GLOB_DAT }, |
| 20 | | .{ .jump_slot, elf.R_X86_64_JUMP_SLOT }, |
| 21 | | .{ .dtpmod, elf.R_X86_64_DTPMOD64 }, |
| 22 | | .{ .dtpoff, elf.R_X86_64_DTPOFF64 }, |
| 23 | | .{ .tpoff, elf.R_X86_64_TPOFF64 }, |
| 24 | | .{ .tlsdesc, elf.R_X86_64_TLSDESC }, |
| 14 | const x86_64_relocs = [_]struct { Kind, elf.R_X86_64 }{ |
| 15 | .{ .abs, .R_X86_64_64 }, |
| 16 | .{ .copy, .R_X86_64_COPY }, |
| 17 | .{ .rel, .R_X86_64_RELATIVE }, |
| 18 | .{ .irel, .R_X86_64_IRELATIVE }, |
| 19 | .{ .glob_dat, .R_X86_64_GLOB_DAT }, |
| 20 | .{ .jump_slot, .R_X86_64_JUMP_SLOT }, |
| 21 | .{ .dtpmod, .R_X86_64_DTPMOD64 }, |
| 22 | .{ .dtpoff, .R_X86_64_DTPOFF64 }, |
| 23 | .{ .tpoff, .R_X86_64_TPOFF64 }, |
| 24 | .{ .tlsdesc, .R_X86_64_TLSDESC }, |
| 25 | 25 | }; |
| 26 | 26 | |
| 27 | | const aarch64_relocs = [_]struct { Kind, u32 }{ |
| 28 | | .{ .abs, elf.R_AARCH64_ABS64 }, |
| 29 | | .{ .copy, elf.R_AARCH64_COPY }, |
| 30 | | .{ .rel, elf.R_AARCH64_RELATIVE }, |
| 31 | | .{ .irel, elf.R_AARCH64_IRELATIVE }, |
| 32 | | .{ .glob_dat, elf.R_AARCH64_GLOB_DAT }, |
| 33 | | .{ .jump_slot, elf.R_AARCH64_JUMP_SLOT }, |
| 34 | | .{ .dtpmod, elf.R_AARCH64_TLS_DTPMOD }, |
| 35 | | .{ .dtpoff, elf.R_AARCH64_TLS_DTPREL }, |
| 36 | | .{ .tpoff, elf.R_AARCH64_TLS_TPREL }, |
| 37 | | .{ .tlsdesc, elf.R_AARCH64_TLSDESC }, |
| 27 | const aarch64_relocs = [_]struct { Kind, elf.R_AARCH64 }{ |
| 28 | .{ .abs, .R_AARCH64_ABS64 }, |
| 29 | .{ .copy, .R_AARCH64_COPY }, |
| 30 | .{ .rel, .R_AARCH64_RELATIVE }, |
| 31 | .{ .irel, .R_AARCH64_IRELATIVE }, |
| 32 | .{ .glob_dat, .R_AARCH64_GLOB_DAT }, |
| 33 | .{ .jump_slot, .R_AARCH64_JUMP_SLOT }, |
| 34 | .{ .dtpmod, .R_AARCH64_TLS_DTPMOD }, |
| 35 | .{ .dtpoff, .R_AARCH64_TLS_DTPREL }, |
| 36 | .{ .tpoff, .R_AARCH64_TLS_TPREL }, |
| 37 | .{ .tlsdesc, .R_AARCH64_TLSDESC }, |
| 38 | }; |
| 39 | |
| 40 | const riscv64_relocs = [_]struct { Kind, elf.R_RISCV }{ |
| 41 | .{ .abs, .R_RISCV_64 }, |
| 42 | .{ .copy, .R_RISCV_COPY }, |
| 43 | .{ .rel, .R_RISCV_RELATIVE }, |
| 44 | .{ .irel, .R_RISCV_IRELATIVE }, |
| 45 | .{ .jump_slot, .R_RISCV_JUMP_SLOT }, |
| 46 | .{ .dtpmod, .R_RISCV_TLS_DTPMOD64 }, |
| 47 | .{ .dtpoff, .R_RISCV_TLS_DTPREL64 }, |
| 48 | .{ .tpoff, .R_RISCV_TLS_TPREL64 }, |
| 49 | .{ .tpoff, .R_RISCV_TLS_TPREL64 }, |
| 38 | 50 | }; |
| 39 | 51 | |
| 40 | 52 | pub fn decode(r_type: u32, cpu_arch: std.Target.Cpu.Arch) ?Kind { |
| ... | ... | @@ -83,177 +95,9 @@ fn formatRelocType( |
| 83 | 95 | _ = options; |
| 84 | 96 | const r_type = ctx.r_type; |
| 85 | 97 | const str = switch (ctx.cpu_arch) { |
| 86 | | .x86_64 => switch (r_type) { |
| 87 | | elf.R_X86_64_NONE => "R_X86_64_NONE", |
| 88 | | elf.R_X86_64_64 => "R_X86_64_64", |
| 89 | | elf.R_X86_64_PC32 => "R_X86_64_PC32", |
| 90 | | elf.R_X86_64_GOT32 => "R_X86_64_GOT32", |
| 91 | | elf.R_X86_64_PLT32 => "R_X86_64_PLT32", |
| 92 | | elf.R_X86_64_COPY => "R_X86_64_COPY", |
| 93 | | elf.R_X86_64_GLOB_DAT => "R_X86_64_GLOB_DAT", |
| 94 | | elf.R_X86_64_JUMP_SLOT => "R_X86_64_JUMP_SLOT", |
| 95 | | elf.R_X86_64_RELATIVE => "R_X86_64_RELATIVE", |
| 96 | | elf.R_X86_64_GOTPCREL => "R_X86_64_GOTPCREL", |
| 97 | | elf.R_X86_64_32 => "R_X86_64_32", |
| 98 | | elf.R_X86_64_32S => "R_X86_64_32S", |
| 99 | | elf.R_X86_64_16 => "R_X86_64_16", |
| 100 | | elf.R_X86_64_PC16 => "R_X86_64_PC16", |
| 101 | | elf.R_X86_64_8 => "R_X86_64_8", |
| 102 | | elf.R_X86_64_PC8 => "R_X86_64_PC8", |
| 103 | | elf.R_X86_64_DTPMOD64 => "R_X86_64_DTPMOD64", |
| 104 | | elf.R_X86_64_DTPOFF64 => "R_X86_64_DTPOFF64", |
| 105 | | elf.R_X86_64_TPOFF64 => "R_X86_64_TPOFF64", |
| 106 | | elf.R_X86_64_TLSGD => "R_X86_64_TLSGD", |
| 107 | | elf.R_X86_64_TLSLD => "R_X86_64_TLSLD", |
| 108 | | elf.R_X86_64_DTPOFF32 => "R_X86_64_DTPOFF32", |
| 109 | | elf.R_X86_64_GOTTPOFF => "R_X86_64_GOTTPOFF", |
| 110 | | elf.R_X86_64_TPOFF32 => "R_X86_64_TPOFF32", |
| 111 | | elf.R_X86_64_PC64 => "R_X86_64_PC64", |
| 112 | | elf.R_X86_64_GOTOFF64 => "R_X86_64_GOTOFF64", |
| 113 | | elf.R_X86_64_GOTPC32 => "R_X86_64_GOTPC32", |
| 114 | | elf.R_X86_64_GOT64 => "R_X86_64_GOT64", |
| 115 | | elf.R_X86_64_GOTPCREL64 => "R_X86_64_GOTPCREL64", |
| 116 | | elf.R_X86_64_GOTPC64 => "R_X86_64_GOTPC64", |
| 117 | | elf.R_X86_64_GOTPLT64 => "R_X86_64_GOTPLT64", |
| 118 | | elf.R_X86_64_PLTOFF64 => "R_X86_64_PLTOFF64", |
| 119 | | elf.R_X86_64_SIZE32 => "R_X86_64_SIZE32", |
| 120 | | elf.R_X86_64_SIZE64 => "R_X86_64_SIZE64", |
| 121 | | elf.R_X86_64_GOTPC32_TLSDESC => "R_X86_64_GOTPC32_TLSDESC", |
| 122 | | elf.R_X86_64_TLSDESC_CALL => "R_X86_64_TLSDESC_CALL", |
| 123 | | elf.R_X86_64_TLSDESC => "R_X86_64_TLSDESC", |
| 124 | | elf.R_X86_64_IRELATIVE => "R_X86_64_IRELATIVE", |
| 125 | | elf.R_X86_64_RELATIVE64 => "R_X86_64_RELATIVE64", |
| 126 | | elf.R_X86_64_GOTPCRELX => "R_X86_64_GOTPCRELX", |
| 127 | | elf.R_X86_64_REX_GOTPCRELX => "R_X86_64_REX_GOTPCRELX", |
| 128 | | elf.R_X86_64_NUM => "R_X86_64_NUM", |
| 129 | | else => "R_X86_64_UNKNOWN", |
| 130 | | }, |
| 131 | | .aarch64 => switch (r_type) { |
| 132 | | elf.R_AARCH64_NONE => "R_AARCH64_NONE", |
| 133 | | elf.R_AARCH64_ABS64 => "R_AARCH64_ABS64", |
| 134 | | elf.R_AARCH64_ABS32 => "R_AARCH64_ABS32", |
| 135 | | elf.R_AARCH64_ABS16 => "R_AARCH64_ABS16", |
| 136 | | elf.R_AARCH64_PREL64 => "R_AARCH64_PREL64", |
| 137 | | elf.R_AARCH64_PREL32 => "R_AARCH64_PREL32", |
| 138 | | elf.R_AARCH64_PREL16 => "R_AARCH64_PREL16", |
| 139 | | elf.R_AARCH64_MOVW_UABS_G0 => "R_AARCH64_MOVW_UABS_G0", |
| 140 | | elf.R_AARCH64_MOVW_UABS_G0_NC => "R_AARCH64_MOVW_UABS_G0_NC", |
| 141 | | elf.R_AARCH64_MOVW_UABS_G1 => "R_AARCH64_MOVW_UABS_G1", |
| 142 | | elf.R_AARCH64_MOVW_UABS_G1_NC => "R_AARCH64_MOVW_UABS_G1_NC", |
| 143 | | elf.R_AARCH64_MOVW_UABS_G2 => "R_AARCH64_MOVW_UABS_G2", |
| 144 | | elf.R_AARCH64_MOVW_UABS_G2_NC => "R_AARCH64_MOVW_UABS_G2_NC", |
| 145 | | elf.R_AARCH64_MOVW_UABS_G3 => "R_AARCH64_MOVW_UABS_G3", |
| 146 | | elf.R_AARCH64_MOVW_SABS_G0 => "R_AARCH64_MOVW_SABS_G0", |
| 147 | | elf.R_AARCH64_MOVW_SABS_G1 => "R_AARCH64_MOVW_SABS_G1", |
| 148 | | elf.R_AARCH64_MOVW_SABS_G2 => "R_AARCH64_MOVW_SABS_G2", |
| 149 | | elf.R_AARCH64_LD_PREL_LO19 => "R_AARCH64_LD_PREL_LO19", |
| 150 | | elf.R_AARCH64_ADR_PREL_LO21 => "R_AARCH64_ADR_PREL_LO21", |
| 151 | | elf.R_AARCH64_ADR_PREL_PG_HI21 => "R_AARCH64_ADR_PREL_PG_HI21", |
| 152 | | elf.R_AARCH64_ADR_PREL_PG_HI21_NC => "R_AARCH64_ADR_PREL_PG_HI21_NC", |
| 153 | | elf.R_AARCH64_ADD_ABS_LO12_NC => "R_AARCH64_ADD_ABS_LO12_NC", |
| 154 | | elf.R_AARCH64_LDST8_ABS_LO12_NC => "R_AARCH64_LDST8_ABS_LO12_NC", |
| 155 | | elf.R_AARCH64_TSTBR14 => "R_AARCH64_TSTBR14", |
| 156 | | elf.R_AARCH64_CONDBR19 => "R_AARCH64_CONDBR19", |
| 157 | | elf.R_AARCH64_JUMP26 => "R_AARCH64_JUMP26", |
| 158 | | elf.R_AARCH64_CALL26 => "R_AARCH64_CALL26", |
| 159 | | elf.R_AARCH64_LDST16_ABS_LO12_NC => "R_AARCH64_LDST16_ABS_LO12_NC", |
| 160 | | elf.R_AARCH64_LDST32_ABS_LO12_NC => "R_AARCH64_LDST32_ABS_LO12_NC", |
| 161 | | elf.R_AARCH64_LDST64_ABS_LO12_NC => "R_AARCH64_LDST64_ABS_LO12_NC", |
| 162 | | elf.R_AARCH64_MOVW_PREL_G0 => "R_AARCH64_MOVW_PREL_G0", |
| 163 | | elf.R_AARCH64_MOVW_PREL_G0_NC => "R_AARCH64_MOVW_PREL_G0_NC", |
| 164 | | elf.R_AARCH64_MOVW_PREL_G1 => "R_AARCH64_MOVW_PREL_G1", |
| 165 | | elf.R_AARCH64_MOVW_PREL_G1_NC => "R_AARCH64_MOVW_PREL_G1_NC", |
| 166 | | elf.R_AARCH64_MOVW_PREL_G2 => "R_AARCH64_MOVW_PREL_G2", |
| 167 | | elf.R_AARCH64_MOVW_PREL_G2_NC => "R_AARCH64_MOVW_PREL_G2_NC", |
| 168 | | elf.R_AARCH64_MOVW_PREL_G3 => "R_AARCH64_MOVW_PREL_G3", |
| 169 | | elf.R_AARCH64_LDST128_ABS_LO12_NC => "R_AARCH64_LDST128_ABS_LO12_NC", |
| 170 | | elf.R_AARCH64_MOVW_GOTOFF_G0 => "R_AARCH64_MOVW_GOTOFF_G0", |
| 171 | | elf.R_AARCH64_MOVW_GOTOFF_G0_NC => "R_AARCH64_MOVW_GOTOFF_G0_NC", |
| 172 | | elf.R_AARCH64_MOVW_GOTOFF_G1 => "R_AARCH64_MOVW_GOTOFF_G1", |
| 173 | | elf.R_AARCH64_MOVW_GOTOFF_G1_NC => "R_AARCH64_MOVW_GOTOFF_G1_NC", |
| 174 | | elf.R_AARCH64_MOVW_GOTOFF_G2 => "R_AARCH64_MOVW_GOTOFF_G2", |
| 175 | | elf.R_AARCH64_MOVW_GOTOFF_G2_NC => "R_AARCH64_MOVW_GOTOFF_G2_NC", |
| 176 | | elf.R_AARCH64_MOVW_GOTOFF_G3 => "R_AARCH64_MOVW_GOTOFF_G3", |
| 177 | | elf.R_AARCH64_GOTREL64 => "R_AARCH64_GOTREL64", |
| 178 | | elf.R_AARCH64_GOTREL32 => "R_AARCH64_GOTREL32", |
| 179 | | elf.R_AARCH64_GOT_LD_PREL19 => "R_AARCH64_GOT_LD_PREL19", |
| 180 | | elf.R_AARCH64_LD64_GOTOFF_LO15 => "R_AARCH64_LD64_GOTOFF_LO15", |
| 181 | | elf.R_AARCH64_ADR_GOT_PAGE => "R_AARCH64_ADR_GOT_PAGE", |
| 182 | | elf.R_AARCH64_LD64_GOT_LO12_NC => "R_AARCH64_LD64_GOT_LO12_NC", |
| 183 | | elf.R_AARCH64_LD64_GOTPAGE_LO15 => "R_AARCH64_LD64_GOTPAGE_LO15", |
| 184 | | elf.R_AARCH64_TLSGD_ADR_PREL21 => "R_AARCH64_TLSGD_ADR_PREL21", |
| 185 | | elf.R_AARCH64_TLSGD_ADR_PAGE21 => "R_AARCH64_TLSGD_ADR_PAGE21", |
| 186 | | elf.R_AARCH64_TLSGD_ADD_LO12_NC => "R_AARCH64_TLSGD_ADD_LO12_NC", |
| 187 | | elf.R_AARCH64_TLSGD_MOVW_G1 => "R_AARCH64_TLSGD_MOVW_G1", |
| 188 | | elf.R_AARCH64_TLSGD_MOVW_G0_NC => "R_AARCH64_TLSGD_MOVW_G0_NC", |
| 189 | | elf.R_AARCH64_TLSLD_ADR_PREL21 => "R_AARCH64_TLSLD_ADR_PREL21", |
| 190 | | elf.R_AARCH64_TLSLD_ADR_PAGE21 => "R_AARCH64_TLSLD_ADR_PAGE21", |
| 191 | | elf.R_AARCH64_TLSLD_ADD_LO12_NC => "R_AARCH64_TLSLD_ADD_LO12_NC", |
| 192 | | elf.R_AARCH64_TLSLD_MOVW_G1 => "R_AARCH64_TLSLD_MOVW_G1", |
| 193 | | elf.R_AARCH64_TLSLD_MOVW_G0_NC => "R_AARCH64_TLSLD_MOVW_G0_NC", |
| 194 | | elf.R_AARCH64_TLSLD_LD_PREL19 => "R_AARCH64_TLSLD_LD_PREL19", |
| 195 | | elf.R_AARCH64_TLSLD_MOVW_DTPREL_G2 => "R_AARCH64_TLSLD_MOVW_DTPREL_G2", |
| 196 | | elf.R_AARCH64_TLSLD_MOVW_DTPREL_G1 => "R_AARCH64_TLSLD_MOVW_DTPREL_G1", |
| 197 | | elf.R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC => "R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC", |
| 198 | | elf.R_AARCH64_TLSLD_MOVW_DTPREL_G0 => "R_AARCH64_TLSLD_MOVW_DTPREL_G0", |
| 199 | | elf.R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC => "R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC", |
| 200 | | elf.R_AARCH64_TLSLD_ADD_DTPREL_HI12 => "R_AARCH64_TLSLD_ADD_DTPREL_HI12", |
| 201 | | elf.R_AARCH64_TLSLD_ADD_DTPREL_LO12 => "R_AARCH64_TLSLD_ADD_DTPREL_LO12", |
| 202 | | elf.R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC => "R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC", |
| 203 | | elf.R_AARCH64_TLSLD_LDST8_DTPREL_LO12 => "R_AARCH64_TLSLD_LDST8_DTPREL_LO12", |
| 204 | | elf.R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC => "R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC", |
| 205 | | elf.R_AARCH64_TLSLD_LDST16_DTPREL_LO12 => "R_AARCH64_TLSLD_LDST16_DTPREL_LO12", |
| 206 | | elf.R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC => "R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC", |
| 207 | | elf.R_AARCH64_TLSLD_LDST32_DTPREL_LO12 => "R_AARCH64_TLSLD_LDST32_DTPREL_LO12", |
| 208 | | elf.R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC => "R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC", |
| 209 | | elf.R_AARCH64_TLSLD_LDST64_DTPREL_LO12 => "R_AARCH64_TLSLD_LDST64_DTPREL_LO12", |
| 210 | | elf.R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC => "R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC", |
| 211 | | elf.R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 => "R_AARCH64_TLSIE_MOVW_GOTTPREL_G1", |
| 212 | | elf.R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC => "R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC", |
| 213 | | elf.R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 => "R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21", |
| 214 | | elf.R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC => "R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC", |
| 215 | | elf.R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 => "R_AARCH64_TLSIE_LD_GOTTPREL_PREL19", |
| 216 | | elf.R_AARCH64_TLSLE_MOVW_TPREL_G2 => "R_AARCH64_TLSLE_MOVW_TPREL_G2", |
| 217 | | elf.R_AARCH64_TLSLE_MOVW_TPREL_G1 => "R_AARCH64_TLSLE_MOVW_TPREL_G1", |
| 218 | | elf.R_AARCH64_TLSLE_MOVW_TPREL_G1_NC => "R_AARCH64_TLSLE_MOVW_TPREL_G1_NC", |
| 219 | | elf.R_AARCH64_TLSLE_MOVW_TPREL_G0 => "R_AARCH64_TLSLE_MOVW_TPREL_G0", |
| 220 | | elf.R_AARCH64_TLSLE_MOVW_TPREL_G0_NC => "R_AARCH64_TLSLE_MOVW_TPREL_G0_NC", |
| 221 | | elf.R_AARCH64_TLSLE_ADD_TPREL_HI12 => "R_AARCH64_TLSLE_ADD_TPREL_HI12", |
| 222 | | elf.R_AARCH64_TLSLE_ADD_TPREL_LO12 => "R_AARCH64_TLSLE_ADD_TPREL_LO12", |
| 223 | | elf.R_AARCH64_TLSLE_ADD_TPREL_LO12_NC => "R_AARCH64_TLSLE_ADD_TPREL_LO12_NC", |
| 224 | | elf.R_AARCH64_TLSLE_LDST8_TPREL_LO12 => "R_AARCH64_TLSLE_LDST8_TPREL_LO12", |
| 225 | | elf.R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC => "R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC", |
| 226 | | elf.R_AARCH64_TLSLE_LDST16_TPREL_LO12 => "R_AARCH64_TLSLE_LDST16_TPREL_LO12", |
| 227 | | elf.R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC => "R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC", |
| 228 | | elf.R_AARCH64_TLSLE_LDST32_TPREL_LO12 => "R_AARCH64_TLSLE_LDST32_TPREL_LO12", |
| 229 | | elf.R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC => "R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC", |
| 230 | | elf.R_AARCH64_TLSLE_LDST64_TPREL_LO12 => "R_AARCH64_TLSLE_LDST64_TPREL_LO12", |
| 231 | | elf.R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC => "R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC", |
| 232 | | elf.R_AARCH64_TLSDESC_LD_PREL19 => "R_AARCH64_TLSDESC_LD_PREL19", |
| 233 | | elf.R_AARCH64_TLSDESC_ADR_PREL21 => "R_AARCH64_TLSDESC_ADR_PREL21", |
| 234 | | elf.R_AARCH64_TLSDESC_ADR_PAGE21 => "R_AARCH64_TLSDESC_ADR_PAGE21", |
| 235 | | elf.R_AARCH64_TLSDESC_LD64_LO12 => "R_AARCH64_TLSDESC_LD64_LO12", |
| 236 | | elf.R_AARCH64_TLSDESC_ADD_LO12 => "R_AARCH64_TLSDESC_ADD_LO12", |
| 237 | | elf.R_AARCH64_TLSDESC_OFF_G1 => "R_AARCH64_TLSDESC_OFF_G1", |
| 238 | | elf.R_AARCH64_TLSDESC_OFF_G0_NC => "R_AARCH64_TLSDESC_OFF_G0_NC", |
| 239 | | elf.R_AARCH64_TLSDESC_LDR => "R_AARCH64_TLSDESC_LDR", |
| 240 | | elf.R_AARCH64_TLSDESC_ADD => "R_AARCH64_TLSDESC_ADD", |
| 241 | | elf.R_AARCH64_TLSDESC_CALL => "R_AARCH64_TLSDESC_CALL", |
| 242 | | elf.R_AARCH64_TLSLE_LDST128_TPREL_LO12 => "R_AARCH64_TLSLE_LDST128_TPREL_LO12", |
| 243 | | elf.R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC => "R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC", |
| 244 | | elf.R_AARCH64_TLSLD_LDST128_DTPREL_LO12 => "R_AARCH64_TLSLD_LDST128_DTPREL_LO12", |
| 245 | | elf.R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC => "R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC", |
| 246 | | elf.R_AARCH64_COPY => "R_AARCH64_COPY", |
| 247 | | elf.R_AARCH64_GLOB_DAT => "R_AARCH64_GLOB_DAT", |
| 248 | | elf.R_AARCH64_JUMP_SLOT => "R_AARCH64_JUMP_SLOT", |
| 249 | | elf.R_AARCH64_RELATIVE => "R_AARCH64_RELATIVE", |
| 250 | | elf.R_AARCH64_TLS_DTPMOD => "R_AARCH64_TLS_DTPMOD", |
| 251 | | elf.R_AARCH64_TLS_DTPREL => "R_AARCH64_TLS_DTPREL", |
| 252 | | elf.R_AARCH64_TLS_TPREL => "R_AARCH64_TLS_TPREL", |
| 253 | | elf.R_AARCH64_TLSDESC => "R_AARCH64_TLSDESC", |
| 254 | | elf.R_AARCH64_IRELATIVE => "R_AARCH64_IRELATIVE", |
| 255 | | else => "R_AARCH64_UNKNOWN", |
| 256 | | }, |
| 98 | .x86_64 => @tagName(@as(elf.R_X86_64, @enumFromInt(r_type))), |
| 99 | .aarch64 => @tagName(@as(elf.R_AARCH64, @enumFromInt(r_type))), |
| 100 | .riscv64 => @tagName(@as(elf.R_RISCV, @enumFromInt(r_type))), |
| 257 | 101 | else => unreachable, |
| 258 | 102 | }; |
| 259 | 103 | try writer.print("{s}", .{str}); |