+2011-06-21 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/arm/dl-irel.h (elf_ifunc_invoke): New.
+ (elf_irel): Use it.
+
2010-06-20 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/arm/eabi/internal_sendmmsg.S: New.
/* Machine-dependent ELF indirect relocation inline functions.
ARM version.
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011 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
#define ELF_MACHINE_IREL 1
+static inline Elf32_Addr
+__attribute ((always_inline))
+elf_ifunc_invoke (Elf32_Addr addr)
+{
+ return ((Elf32_Addr (*) (void)) (addr)) ();
+}
+
static inline void
__attribute ((always_inline))
elf_irel (const Elf32_Rel *reloc)
if (__builtin_expect (r_type == R_ARM_IRELATIVE, 1))
{
- Elf32_Addr value = ((Elf32_Addr (*) (void)) (*reloc_addr)) ();
+ Elf32_Addr value = elf_ifunc_invoke (*reloc_addr);
*reloc_addr = value;
}
else