arm64: Support PREL32 relocation
A PC-relative 32bit value is stored.
This commit is contained in:
parent
c232af7ddb
commit
7600b03f35
1 changed files with 3 additions and 0 deletions
3
tccelf.c
3
tccelf.c
|
@ -791,6 +791,9 @@ ST_FUNC void relocate_section(TCCState *s1, Section *s)
|
||||||
case R_AARCH64_ABS32:
|
case R_AARCH64_ABS32:
|
||||||
write32le(ptr, val);
|
write32le(ptr, val);
|
||||||
break;
|
break;
|
||||||
|
case R_AARCH64_PREL32:
|
||||||
|
write32le(ptr, val - addr);
|
||||||
|
break;
|
||||||
case R_AARCH64_MOVW_UABS_G0_NC:
|
case R_AARCH64_MOVW_UABS_G0_NC:
|
||||||
write32le(ptr, ((read32le(ptr) & 0xffe0001f) |
|
write32le(ptr, ((read32le(ptr) & 0xffe0001f) |
|
||||||
(val & 0xffff) << 5));
|
(val & 0xffff) << 5));
|
||||||
|
|
Loading…
Add table
Reference in a new issue