[PATCH 4/6] AArch64: Remove AARCH64_R macro
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Fri Feb 21 16:33:18 GMT 2025
On 20/02/25 17:06, Wilco Dijkstra wrote:
> Remove AARCH64_R relocation macro.
>
> OK for commit?
LGTM, thanks.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
>
> ---
>
> diff --git a/elf/elf.h b/elf/elf.h
> index 96df2eec01ebbe02a13c0b0be6eababc5def0c75..c0f61489ecfb227f073371ae34c455f89b0e1bed 100644
> --- a/elf/elf.h
> +++ b/elf/elf.h
> @@ -2906,19 +2906,6 @@ enum
>
> #define R_AARCH64_NONE 0 /* No relocation. */
>
> -/* ILP32 AArch64 relocs. */
> -#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. */
> #define R_AARCH64_ABS64 257 /* Direct 64 bit. */
> #define R_AARCH64_ABS32 258 /* Direct 32 bit. */
> #define R_AARCH64_ABS16 259 /* Direct 16-bit. */
> diff --git a/sysdeps/aarch64/dl-irel.h b/sysdeps/aarch64/dl-irel.h
> index e157290131ac5cb9a411835941cad2ea74a0db4a..ae402bc367bcf947cb4f8a8362d4471676338df1 100644
> --- a/sysdeps/aarch64/dl-irel.h
> +++ b/sysdeps/aarch64/dl-irel.h
> @@ -48,7 +48,7 @@ elf_irela (const ElfW(Rela) *reloc)
> ElfW(Addr) *const reloc_addr = (void *) reloc->r_offset;
> const unsigned long int r_type = ELFW(R_TYPE) (reloc->r_info);
>
> - if (__glibc_likely (r_type == AARCH64_R(IRELATIVE)))
> + if (__glibc_likely (r_type == R_AARCH64_IRELATIVE))
> {
> ElfW(Addr) value = elf_ifunc_invoke (reloc->r_addend);
> *reloc_addr = value;
> diff --git a/sysdeps/aarch64/dl-machine.h b/sysdeps/aarch64/dl-machine.h
> index bb8f8a9bb1e57bda105b5f302d24c6664a8ec616..022642ae83e85e83c8ea6706a53842bea32d3724 100644
> --- a/sysdeps/aarch64/dl-machine.h
> +++ b/sysdeps/aarch64/dl-machine.h
> @@ -118,7 +118,7 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[],
> (type) == R_AARCH64_TLSDESC) * ELF_RTYPE_CLASS_PLT) \
> | (((type) == R_AARCH64_COPY) * ELF_RTYPE_CLASS_COPY))
>
> -#define ELF_MACHINE_JMP_SLOT AARCH64_R(JUMP_SLOT)
> +#define ELF_MACHINE_JMP_SLOT R_AARCH64_JUMP_SLOT
>
> #define DL_PLATFORM_INIT dl_platform_init ()
>
> @@ -174,7 +174,7 @@ elf_machine_rela (struct link_map *map, struct r_scope_elem *scope[],
> ElfW(Addr) *const reloc_addr = reloc_addr_arg;
> const unsigned int r_type = ELFW (R_TYPE) (reloc->r_info);
>
> - if (__builtin_expect (r_type == AARCH64_R(RELATIVE), 0))
> + if (__builtin_expect (r_type == R_AARCH64_RELATIVE, 0))
> *reloc_addr = map->l_addr + reloc->r_addend;
> else if (__builtin_expect (r_type == R_AARCH64_NONE, 0))
> return;
> @@ -195,19 +195,17 @@ elf_machine_rela (struct link_map *map, struct r_scope_elem *scope[],
>
> switch (r_type)
> {
> - case AARCH64_R(GLOB_DAT):
> - case AARCH64_R(JUMP_SLOT):
> + case R_AARCH64_GLOB_DAT:
> + case R_AARCH64_JUMP_SLOT:
> *reloc_addr = value + reloc->r_addend;
> break;
>
> # ifndef RTLD_BOOTSTRAP
> - case AARCH64_R(ABS32):
> -# ifdef __LP64__
> - case AARCH64_R(ABS64):
> -# endif
> + case R_AARCH64_ABS32:
> + case R_AARCH64_ABS64:
> *reloc_addr = value + reloc->r_addend;
> break;
> - case AARCH64_R(COPY):
> + case R_AARCH64_COPY:
> if (sym == NULL)
> break;
>
> @@ -226,7 +224,7 @@ elf_machine_rela (struct link_map *map, struct r_scope_elem *scope[],
> ? sym->st_size : refsym->st_size);
> break;
>
> - case AARCH64_R(TLSDESC):
> + case R_AARCH64_TLSDESC:
> {
> struct tlsdesc volatile *td =
> (struct tlsdesc volatile *)reloc_addr;
> @@ -257,19 +255,19 @@ elf_machine_rela (struct link_map *map, struct r_scope_elem *scope[],
> break;
> }
>
> - case AARCH64_R(TLS_DTPMOD):
> + case R_AARCH64_TLS_DTPMOD:
> if (sym_map != NULL)
> {
> *reloc_addr = sym_map->l_tls_modid;
> }
> break;
>
> - case AARCH64_R(TLS_DTPREL):
> + case R_AARCH64_TLS_DTPREL:
> if (sym)
> *reloc_addr = sym->st_value + reloc->r_addend;
> break;
>
> - case AARCH64_R(TLS_TPREL):
> + case R_AARCH64_TLS_TPREL:
> if (sym)
> {
> CHECK_STATIC_TLS (map, sym_map);
> @@ -278,7 +276,7 @@ elf_machine_rela (struct link_map *map, struct r_scope_elem *scope[],
> }
> break;
>
> - case AARCH64_R(IRELATIVE):
> + case R_AARCH64_IRELATIVE:
> value = map->l_addr + reloc->r_addend;
> if (__glibc_likely (!skip_ifunc))
> value = elf_ifunc_invoke (value);
> @@ -313,7 +311,7 @@ elf_machine_lazy_rel (struct link_map *map, struct r_scope_elem *scope[],
> ElfW(Addr) *const reloc_addr = (void *) (l_addr + reloc->r_offset);
> const unsigned int r_type = ELFW (R_TYPE) (reloc->r_info);
> /* Check for unexpected PLT reloc type. */
> - if (__builtin_expect (r_type == AARCH64_R(JUMP_SLOT), 1))
> + if (__builtin_expect (r_type == R_AARCH64_JUMP_SLOT, 1))
> {
> if (__glibc_unlikely (map->l_info[DT_AARCH64 (VARIANT_PCS)] != NULL))
> {
> @@ -343,7 +341,7 @@ elf_machine_lazy_rel (struct link_map *map, struct r_scope_elem *scope[],
> else
> *reloc_addr = map->l_mach.plt;
> }
> - else if (__builtin_expect (r_type == AARCH64_R(TLSDESC), 1))
> + else if (__builtin_expect (r_type == R_AARCH64_TLSDESC, 1))
> {
> const Elf_Symndx symndx = ELFW (R_SYM) (reloc->r_info);
> const ElfW (Sym) *symtab = (const void *)D_PTR (map, l_info[DT_SYMTAB]);
> @@ -362,7 +360,7 @@ elf_machine_lazy_rel (struct link_map *map, struct r_scope_elem *scope[],
> elf_machine_rela (map, scope, reloc, sym, version, reloc_addr,
> skip_ifunc);
> }
> - else if (__glibc_unlikely (r_type == AARCH64_R(IRELATIVE)))
> + else if (__glibc_unlikely (r_type == R_AARCH64_IRELATIVE))
> {
> ElfW(Addr) value = map->l_addr + reloc->r_addend;
> if (__glibc_likely (!skip_ifunc))
> diff --git a/sysdeps/aarch64/sysdep.h b/sysdeps/aarch64/sysdep.h
> index 3ca0040f54fffc372508354a18de9bc6418b1276..942411599dd914deeb03ede4d2a1efd099f08ea4 100644
> --- a/sysdeps/aarch64/sysdep.h
> +++ b/sysdeps/aarch64/sysdep.h
> @@ -21,8 +21,6 @@
>
> #include <sysdeps/generic/sysdep.h>
>
> -# define AARCH64_R(NAME) R_AARCH64_ ## NAME
> -
> #ifndef __ASSEMBLER__
> /* Strip pointer authentication code from pointer p. */
> static inline void *
>
More information about the Libc-alpha
mailing list