Arm64: force emission of ILP32-dependent relocs
authorJan Beulich <jbeulich@suse.com>
Thu, 19 May 2022 10:46:21 +0000 (12:46 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 19 May 2022 10:46:21 +0000 (12:46 +0200)
Like the placeholder types added in 04dfe7aa5217 ("Arm64: follow-on to
PR gas/27217 fix"), these are also placeholders which are subsequently
resolved (albeit later, hence this being a separate issue). As for the
resolved types 1 is returned, these pseudo-relocs should also have 1
returned to force retaining of the [eventual] relocations. This is also
spelled out individually for each of them in md_apply_fix().

gas/config/tc-aarch64.c

index 407f8881493844047d2560f38e82a1dec19748cb..e9f7ee9fc964c3716474b04316d992be846dfbb5 100644 (file)
@@ -3080,7 +3080,7 @@ aarch64_force_reloc (unsigned int type)
     case BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC:
       /* Pseudo relocs that need to be fixed up according to
         ilp32_p.  */
-      return 0;
+      return 1;
 
     case BFD_RELOC_AARCH64_ADD_LO12:
     case BFD_RELOC_AARCH64_ADR_GOT_PAGE: