This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 1/3] AArch64: Update relocations for ILP32
- From: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- To: Will Newton <will dot newton at linaro dot org>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Fri, 21 Nov 2014 14:31:59 +0000
- Subject: Re: [PATCH 1/3] AArch64: Update relocations for ILP32
- Authentication-results: sourceware.org; auth=none
- References: <1416329010-8683-1-git-send-email-will dot newton at linaro dot org> <1416329010-8683-2-git-send-email-will dot newton at linaro dot org>
On 18 November 2014 16:43, Will Newton <will.newton@linaro.org> wrote:
> The latest version of the binutils ELF header defines a new set of
> dynamic relocations for ILP32 and renames some to make the naming
> more uniform.
>
> ChangeLog:
>
> 2014-11-18 Will Newton <will.newton@linaro.org>
> Andrew Pinski <andrew.pinski@caviumnetworks.com>
>
> * elf/elf.h (R_AARCH64_P32_ABS32, R_AARCH64_P32_COPY,
> R_AARCH64_P32_GLOB_DAT, R_AARCH64_P32_JUMP_SLOT,
> R_AARCH64_P32_RELATIVE, R_AARCH64_P32_TLS_DTPMOD,
> R_AARCH64_P32_TLS_DTPREL, R_AARCH64_P32_TLS_TPREL,
> R_AARCH64_P32_TLSDESC, R_AARCH64_P32_IRELATIVE): Define.
> (R_AARCH64_TLS_DTPMOD64): Rename to ..
> (R_AARCH64_TLS_DTPMOD): This.
> (R_AARCH64_TLS_DTPREL64): Rename to ...
> (R_AARCH64_TLS_DTPREL): This.
> (R_AARCH64_TLS_TPREL64): Rename to ...
> (R_AARCH64_TLS_TPREL): This.
> * sysdeps/aarch64/dl-machine.h (elf_machine_type_class): Update
> R_AARCH64_TLS_DTPMOD64, R_AARCH64_TLS_DTPREL64, and
> R_AARCH64_TLS_TPREL64.
> (elf_machine_rela): Likewise.
> ---
> elf/elf.h | 20 +++++++++++++++++---
> sysdeps/aarch64/dl-machine.h | 12 ++++++------
> 2 files changed, 23 insertions(+), 9 deletions(-)
>
> diff --git a/elf/elf.h b/elf/elf.h
> index 78815e8..d752343 100644
> --- a/elf/elf.h
> +++ b/elf/elf.h
> @@ -2362,6 +2362,20 @@ typedef Elf32_Addr Elf32_Conflict;
> /* AArch64 relocs. */
>
> #define R_AARCH64_NONE 0 /* No relocation. */
> +
> +/* ILP32 AARCH64 relocs. */
Nit, AArch32 and double space after period.
> +#define R_AARCH64_P32_ABS32 1 /* Direct 32 bit. */
> +#define R_AARCH64_P32_COPY 180 /* Copy symbol at runtime. */
> +#define R_AARCH64_P32_GLOB_DAT 181 /* Create GOT entry. */
> +#define R_AARCH64_P32_JUMP_SLOT 182 /* Create PLT entry. */
> +#define R_AARCH64_P32_RELATIVE 183 /* Adjust by program base. */
> +#define R_AARCH64_P32_TLS_DTPMOD 184 /* Module number, 32 bit. */
> +#define R_AARCH64_P32_TLS_DTPREL 185 /* Module-relative offset, 32 bit. */
> +#define R_AARCH64_P32_TLS_TPREL 186 /* TP-relative offset, 32 bit. */
> +#define R_AARCH64_P32_TLSDESC 187 /* TLS Descriptor. */
> +#define R_AARCH64_P32_IRELATIVE 188 /* STT_GNU_IFUNC relocation. */
> +
> +/* LP64 AARCH64 relocs. */
Nit AArch64 and double space after period.
Oherwise OK /Marcus