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]

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


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


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