History

FreeBSD (aarch64): fix relocation error.

Christian Jullien committed 5 years ago

Commit 888f4fd1 parent 6cc87621 file · +3 −0Browse files

Unified · Split

arm64-link.c+3−0
@@ -38,6 +38,7 @@ int code_reloc (int reloc_type) · 37 unmodified lines
38 case R_AARCH64_ADR_GOT_PAGE:38 case R_AARCH64_ADR_GOT_PAGE:
39 case R_AARCH64_LD64_GOT_LO12_NC:39 case R_AARCH64_LD64_GOT_LO12_NC:
40 case R_AARCH64_LDST64_ABS_LO12_NC:40 case R_AARCH64_LDST64_ABS_LO12_NC:
41 case R_AARCH64_LDST8_ABS_LO12_NC:
41 case R_AARCH64_GLOB_DAT:42 case R_AARCH64_GLOB_DAT:
42 case R_AARCH64_COPY:43 case R_AARCH64_COPY:
43 return 0;44 return 0;
@@ -64,6 +65,7 @@ int gotplt_entry_type (int reloc_type) · 20 unmodified lines
64 case R_AARCH64_ADR_PREL_PG_HI21:65 case R_AARCH64_ADR_PREL_PG_HI21:
65 case R_AARCH64_ADD_ABS_LO12_NC:66 case R_AARCH64_ADD_ABS_LO12_NC:
66 case R_AARCH64_LDST64_ABS_LO12_NC:67 case R_AARCH64_LDST64_ABS_LO12_NC:
68 case R_AARCH64_LDST8_ABS_LO12_NC:
67 case R_AARCH64_GLOB_DAT:69 case R_AARCH64_GLOB_DAT:
68 case R_AARCH64_JUMP_SLOT:70 case R_AARCH64_JUMP_SLOT:
69 case R_AARCH64_COPY:71 case R_AARCH64_COPY:
@@ -237,6 +239,7 @@ void relocate(TCCState *s1, ElfW_Rel *rel, int type, unsigned char *ptr, addr_t · 167 unmodified lines
237 return;239 return;
238 }240 }
239 case R_AARCH64_ADD_ABS_LO12_NC:241 case R_AARCH64_ADD_ABS_LO12_NC:
242 case R_AARCH64_LDST8_ABS_LO12_NC:
240 write32le(ptr, ((read32le(ptr) & 0xffc003ff) |243 write32le(ptr, ((read32le(ptr) & 0xffc003ff) |
241 (val & 0xfff) << 10));244 (val & 0xfff) << 10));
242 return;245 return;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t