diff options
Diffstat (limited to 'sysdeps/aarch64/dl-irel.h')
-rw-r--r-- | sysdeps/aarch64/dl-irel.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sysdeps/aarch64/dl-irel.h b/sysdeps/aarch64/dl-irel.h index 63a8e506eb..5889ee187b 100644 --- a/sysdeps/aarch64/dl-irel.h +++ b/sysdeps/aarch64/dl-irel.h @@ -1,6 +1,6 @@ /* Machine-dependent ELF indirect relocation inline functions. AArch64 version. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,6 +23,7 @@ #include <stdio.h> #include <unistd.h> #include <ldsodefs.h> +#include <sysdep.h> #define ELF_MACHINE_IRELA 1 @@ -30,7 +31,7 @@ static inline ElfW(Addr) __attribute ((always_inline)) elf_ifunc_invoke (ElfW(Addr) addr) { - return ((ElfW(Addr) (*) (unsigned long int)) (addr)) (GLRO(dl_hwcap)); + return ((ElfW(Addr) (*) (uint64_t)) (addr)) (GLRO(dl_hwcap)); } static inline void @@ -40,7 +41,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 == R_AARCH64_IRELATIVE)) + if (__glibc_likely (r_type == AARCH64_R(IRELATIVE))) { ElfW(Addr) value = elf_ifunc_invoke (reloc->r_addend); *reloc_addr = value; |