Unified · Split
| @@ -37,7 +37,10 @@ int code_reloc (int reloc_type) · 36 unmodified lines | ||
| 37 | 37 | case R_AARCH64_ADD_ABS_LO12_NC: |
| 38 | 38 | case R_AARCH64_ADR_GOT_PAGE: |
| 39 | 39 | case R_AARCH64_LD64_GOT_LO12_NC: |
| 40 | + case R_AARCH64_LDST128_ABS_LO12_NC: | |
| 40 | 41 | case R_AARCH64_LDST64_ABS_LO12_NC: |
| 42 | + case R_AARCH64_LDST32_ABS_LO12_NC: | |
| 43 | + case R_AARCH64_LDST16_ABS_LO12_NC: | |
| 41 | 44 | case R_AARCH64_LDST8_ABS_LO12_NC: |
| 42 | 45 | case R_AARCH64_GLOB_DAT: |
| 43 | 46 | case R_AARCH64_COPY: |
| @@ -64,7 +67,10 @@ int gotplt_entry_type (int reloc_type) · 20 unmodified lines | ||
| 64 | 67 | case R_AARCH64_MOVW_UABS_G3: |
| 65 | 68 | case R_AARCH64_ADR_PREL_PG_HI21: |
| 66 | 69 | case R_AARCH64_ADD_ABS_LO12_NC: |
| 70 | + case R_AARCH64_LDST128_ABS_LO12_NC: | |
| 67 | 71 | case R_AARCH64_LDST64_ABS_LO12_NC: |
| 72 | + case R_AARCH64_LDST32_ABS_LO12_NC: | |
| 73 | + case R_AARCH64_LDST16_ABS_LO12_NC: | |
| 68 | 74 | case R_AARCH64_LDST8_ABS_LO12_NC: |
| 69 | 75 | case R_AARCH64_GLOB_DAT: |
| 70 | 76 | case R_AARCH64_JUMP_SLOT: |
| @@ -243,10 +249,22 @@ void relocate(TCCState *s1, ElfW_Rel *rel, int type, unsigned char *ptr, addr_t · 172 unmodified lines | ||
| 243 | 249 | write32le(ptr, ((read32le(ptr) & 0xffc003ff) | |
| 244 | 250 | (val & 0xfff) << 10)); |
| 245 | 251 | return; |
| 252 | + case R_AARCH64_LDST16_ABS_LO12_NC: | |
| 253 | + write32le(ptr, ((read32le(ptr) & 0xffc003ff) | | |
| 254 | + (val & 0xffe) << 9)); | |
| 255 | + return; | |
| 256 | + case R_AARCH64_LDST32_ABS_LO12_NC: | |
| 257 | + write32le(ptr, ((read32le(ptr) & 0xffc003ff) | | |
| 258 | + (val & 0xffc) << 8)); | |
| 259 | + return; | |
| 246 | 260 | case R_AARCH64_LDST64_ABS_LO12_NC: |
| 247 | 261 | write32le(ptr, ((read32le(ptr) & 0xffc003ff) | |
| 248 | 262 | (val & 0xff8) << 7)); |
| 249 | 263 | return; |
| 264 | + case R_AARCH64_LDST128_ABS_LO12_NC: | |
| 265 | + write32le(ptr, ((read32le(ptr) & 0xffc003ff) | | |
| 266 | + (val & 0xff0) << 6)); | |
| 267 | + return; | |
| 250 | 268 | case R_AARCH64_JUMP26: |
| 251 | 269 | case R_AARCH64_CALL26: |
| 252 | 270 | #ifdef DEBUG_RELOC |