This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] include/elf/aarch64.h: Add reloc numbers from ABI release 1.0


Add the relocation numbers defined in ABI release 1.0 but missing
from the current header. This will allow tools like objdump to dump
objects that use these relocations.

include/elf/ChangeLog:

2014-09-30  Will Newton  <will.newton@linaro.org>

	* aarch64.h: Sync up relocations with ABI release 1.0.
---
 include/elf/aarch64.h | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)

diff --git a/include/elf/aarch64.h b/include/elf/aarch64.h
index e2b71de..1842b0b 100644
--- a/include/elf/aarch64.h
+++ b/include/elf/aarch64.h
@@ -269,20 +269,87 @@ RELOC_NUMBER (R_AARCH64_LDST32_ABS_LO12_NC, 285)
 /* LD/ST64: (S+A) & 0xff8 */
 RELOC_NUMBER (R_AARCH64_LDST64_ABS_LO12_NC, 286)
 
+/* Group relocations to create a 16, 32, 48, or 64 bit PC-relative
+   offset inline.  */
+
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G0, 287)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G0_NC, 288)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G1, 289)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G1_NC, 290)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G2, 291)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G2_NC, 292)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G3, 293)
+
 /* LD/ST128: (S+A) & 0xff0 */
 RELOC_NUMBER (R_AARCH64_LDST128_ABS_LO12_NC, 299)
 
+/* Group relocations to create a 16, 32, 48, or 64 bit GOT-relative
+   offset inline.  */
+
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G0, 300)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G0_NC, 301)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G1, 302)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G1_NC, 303)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G2, 304)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G2_NC, 305)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G3, 306)
+
+/* GOT-relative data relocations.  */
+
+RELOC_NUMBER (R_AARCH64_GOTREL64, 307)
+RELOC_NUMBER (R_AARCH64_GOTREL32, 308)
+
+/* GOT-relative instruction relocations.  */
+
 RELOC_NUMBER (R_AARCH64_GOT_LD_PREL19, 309)
+RELOC_NUMBER (R_AARCH64_LD64_GOTOFF_LO15, 310)
 RELOC_NUMBER (R_AARCH64_ADR_GOT_PAGE, 311)
 RELOC_NUMBER (R_AARCH64_LD64_GOT_LO12_NC, 312)
+RELOC_NUMBER (R_AARCH64_LD64_GOTPAGE_LO15, 313)
 
+/* General Dynamic TLS relocations.  */
+
+RELOC_NUMBER (R_AARCH64_TLSGD_ADR_PREL21, 512)
 RELOC_NUMBER (R_AARCH64_TLSGD_ADR_PAGE21, 513)
 RELOC_NUMBER (R_AARCH64_TLSGD_ADD_LO12_NC, 514)
+RELOC_NUMBER (R_AARCH64_TLSGD_MOVW_G1, 515)
+RELOC_NUMBER (R_AARCH64_TLSGD_MOVW_G0_NC, 516)
+
+/* Local Dynamic TLS relocations.  */
+
+RELOC_NUMBER (R_AARCH64_TLSLD_ADR_PREL21, 517)
+RELOC_NUMBER (R_AARCH64_TLSLD_ADR_PAGE21, 518)
+RELOC_NUMBER (R_AARCH64_TLSLD_ADD_LO12_NC, 519)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_G1, 520)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_G0_NC, 521)
+RELOC_NUMBER (R_AARCH64_TLSLD_LD_PREL19, 522)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G2, 523)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G1, 524)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC, 525)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G0, 526)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC, 527)
+RELOC_NUMBER (R_AARCH64_TLSLD_ADD_DTPREL_HI12, 528)
+RELOC_NUMBER (R_AARCH64_TLSLD_ADD_DTPREL_LO12, 529)
+RELOC_NUMBER (R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC, 530)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST8_DTPREL_LO12, 531)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC, 532)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST16_DTPREL_LO12, 533)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC, 534)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST32_DTPREL_LO12, 535)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC, 536)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST64_DTPREL_LO12, 537)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC, 538)
+
+/* Initial Exec TLS relocations.  */
+
 RELOC_NUMBER (R_AARCH64_TLSIE_MOVW_GOTTPREL_G1, 539)
 RELOC_NUMBER (R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC, 540)
 RELOC_NUMBER (R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21, 541)
 RELOC_NUMBER (R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC, 542)
 RELOC_NUMBER (R_AARCH64_TLSIE_LD_GOTTPREL_PREL19, 543)
+
+/* Local Exec TLS relocations.  */
+
 RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G2, 544)
 RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G1, 545)
 RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G1_NC, 546)
@@ -291,6 +358,16 @@ RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G0_NC, 548)
 RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_HI12, 549)
 RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_LO12, 550)
 RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_LO12_NC, 551)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST8_TPREL_LO12, 552)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC, 553)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST16_TPREL_LO12, 554)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, 555)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST32_TPREL_LO12, 556)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, 557)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST64_TPREL_LO12, 558)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, 559)
+
+/* TLS descriptor relocations.  */
 
 RELOC_NUMBER (R_AARCH64_TLSDESC_LD_PREL19, 560)
 RELOC_NUMBER (R_AARCH64_TLSDESC_ADR_PREL21, 561)
@@ -303,6 +380,11 @@ RELOC_NUMBER (R_AARCH64_TLSDESC_LDR, 567)
 RELOC_NUMBER (R_AARCH64_TLSDESC_ADD, 568)
 RELOC_NUMBER (R_AARCH64_TLSDESC_CALL, 569)
 
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST128_TPREL_LO12, 570)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC, 571)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST128_DTPREL_LO12, 572)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC, 573)
+
 /* Dynamic relocations */
 
 /* Copy symbol at runtime.  */
-- 
1.9.3


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]