| ... | @@ -11,30 +11,42 @@ pub const Kind = enum { | ... | @@ -11,30 +11,42 @@ pub const Kind = enum { |
| 11 | tlsdesc, | 11 | tlsdesc, |
| 12 | }; | 12 | }; |
| 13 | | 13 | |
| 14 | const x86_64_relocs = [_]struct { Kind, u32 }{ | 14 | const x86_64_relocs = [_]struct { Kind, elf.R_X86_64 }{ |
| 15 | .{ .abs, elf.R_X86_64_64 }, | 15 | .{ .abs, .R_X86_64_64 }, |
| 16 | .{ .copy, elf.R_X86_64_COPY }, | 16 | .{ .copy, .R_X86_64_COPY }, |
| 17 | .{ .rel, elf.R_X86_64_RELATIVE }, | 17 | .{ .rel, .R_X86_64_RELATIVE }, |
| 18 | .{ .irel, elf.R_X86_64_IRELATIVE }, | 18 | .{ .irel, .R_X86_64_IRELATIVE }, |
| 19 | .{ .glob_dat, elf.R_X86_64_GLOB_DAT }, | 19 | .{ .glob_dat, .R_X86_64_GLOB_DAT }, |
| 20 | .{ .jump_slot, elf.R_X86_64_JUMP_SLOT }, | 20 | .{ .jump_slot, .R_X86_64_JUMP_SLOT }, |
| 21 | .{ .dtpmod, elf.R_X86_64_DTPMOD64 }, | 21 | .{ .dtpmod, .R_X86_64_DTPMOD64 }, |
| 22 | .{ .dtpoff, elf.R_X86_64_DTPOFF64 }, | 22 | .{ .dtpoff, .R_X86_64_DTPOFF64 }, |
| 23 | .{ .tpoff, elf.R_X86_64_TPOFF64 }, | 23 | .{ .tpoff, .R_X86_64_TPOFF64 }, |
| 24 | .{ .tlsdesc, elf.R_X86_64_TLSDESC }, | 24 | .{ .tlsdesc, .R_X86_64_TLSDESC }, |
| 25 | }; | 25 | }; |
| 26 | | 26 | |
| 27 | const aarch64_relocs = [_]struct { Kind, u32 }{ | 27 | const aarch64_relocs = [_]struct { Kind, elf.R_AARCH64 }{ |
| 28 | .{ .abs, elf.R_AARCH64_ABS64 }, | 28 | .{ .abs, .R_AARCH64_ABS64 }, |
| 29 | .{ .copy, elf.R_AARCH64_COPY }, | 29 | .{ .copy, .R_AARCH64_COPY }, |
| 30 | .{ .rel, elf.R_AARCH64_RELATIVE }, | 30 | .{ .rel, .R_AARCH64_RELATIVE }, |
| 31 | .{ .irel, elf.R_AARCH64_IRELATIVE }, | 31 | .{ .irel, .R_AARCH64_IRELATIVE }, |
| 32 | .{ .glob_dat, elf.R_AARCH64_GLOB_DAT }, | 32 | .{ .glob_dat, .R_AARCH64_GLOB_DAT }, |
| 33 | .{ .jump_slot, elf.R_AARCH64_JUMP_SLOT }, | 33 | .{ .jump_slot, .R_AARCH64_JUMP_SLOT }, |
| 34 | .{ .dtpmod, elf.R_AARCH64_TLS_DTPMOD }, | 34 | .{ .dtpmod, .R_AARCH64_TLS_DTPMOD }, |
| 35 | .{ .dtpoff, elf.R_AARCH64_TLS_DTPREL }, | 35 | .{ .dtpoff, .R_AARCH64_TLS_DTPREL }, |
| 36 | .{ .tpoff, elf.R_AARCH64_TLS_TPREL }, | 36 | .{ .tpoff, .R_AARCH64_TLS_TPREL }, |
| 37 | .{ .tlsdesc, elf.R_AARCH64_TLSDESC }, | 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 | pub fn decode(r_type: u32, cpu_arch: std.Target.Cpu.Arch) ?Kind { | 52 | pub fn decode(r_type: u32, cpu_arch: std.Target.Cpu.Arch) ?Kind { |
| ... | @@ -83,177 +95,9 @@ fn formatRelocType( | ... | @@ -83,177 +95,9 @@ fn formatRelocType( |
| 83 | _ = options; | 95 | _ = options; |
| 84 | const r_type = ctx.r_type; | 96 | const r_type = ctx.r_type; |
| 85 | const str = switch (ctx.cpu_arch) { | 97 | const str = switch (ctx.cpu_arch) { |
| 86 | .x86_64 => switch (r_type) { | 98 | .x86_64 => @tagName(@as(elf.R_X86_64, @enumFromInt(r_type))), |
| 87 | elf.R_X86_64_NONE => "R_X86_64_NONE", | 99 | .aarch64 => @tagName(@as(elf.R_AARCH64, @enumFromInt(r_type))), |
| 88 | elf.R_X86_64_64 => "R_X86_64_64", | 100 | .riscv64 => @tagName(@as(elf.R_RISCV, @enumFromInt(r_type))), |
| 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 | }, | | |
| 257 | else => unreachable, | 101 | else => unreachable, |
| 258 | }; | 102 | }; |
| 259 | try writer.print("{s}", .{str}); | 103 | try writer.print("{s}", .{str}); |