From 7600b03f35a0178978e864c17abac9a5f3a24032 Mon Sep 17 00:00:00 2001 From: Michael Matz <matz@suse.de> Date: Fri, 14 Oct 2016 16:45:37 +0200 Subject: [PATCH] arm64: Support PREL32 relocation A PC-relative 32bit value is stored. --- tccelf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tccelf.c b/tccelf.c index 6c540368..f0a32417 100644 --- a/tccelf.c +++ b/tccelf.c @@ -791,6 +791,9 @@ ST_FUNC void relocate_section(TCCState *s1, Section *s) case R_AARCH64_ABS32: write32le(ptr, val); break; + case R_AARCH64_PREL32: + write32le(ptr, val - addr); + break; case R_AARCH64_MOVW_UABS_G0_NC: write32le(ptr, ((read32le(ptr) & 0xffe0001f) | (val & 0xffff) << 5));