This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] include/elf/aarch64.h: Add reloc numbers from ABI release 1.0
- From: Will Newton <will dot newton at linaro dot org>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Mon, 6 Oct 2014 10:27:50 +0100
- Subject: Re: [PATCH] include/elf/aarch64.h: Add reloc numbers from ABI release 1.0
- Authentication-results: sourceware.org; auth=none
- References: <1412076098-4832-1-git-send-email-will dot newton at linaro dot org>
On 30 September 2014 12:21, Will Newton <will.newton@linaro.org> wrote:
> 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(+)
Ping?
It would be nice to get this into binutils 2.25 if possible.
Thanks,
> 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
>
--
Will Newton
Toolchain Working Group, Linaro