aboutsummaryrefslogtreecommitdiff
path: root/include/elf/aarch64.h
diff options
context:
space:
mode:
authorWill Newton <will.newton@linaro.org>2014-09-30 12:17:32 +0100
committerWill Newton <will.newton@linaro.org>2014-10-08 10:07:45 +0100
commit23664eacafac0548546d243bbc49bf5ab268a9c4 (patch)
tree7a3c5f36f69a654b4c07a57993ebe480d0bbb497 /include/elf/aarch64.h
parent3ba37e6c302904cb38b9572faa9b9c1bb176d782 (diff)
downloadgdb-23664eacafac0548546d243bbc49bf5ab268a9c4.zip
gdb-23664eacafac0548546d243bbc49bf5ab268a9c4.tar.gz
gdb-23664eacafac0548546d243bbc49bf5ab268a9c4.tar.bz2
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-10-08 Will Newton <will.newton@linaro.org> * aarch64.h: Sync up relocations with ABI release 1.0.
Diffstat (limited to 'include/elf/aarch64.h')
-rw-r--r--include/elf/aarch64.h82
1 files changed, 82 insertions, 0 deletions
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. */