[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r14271 - in /fsf/trunk/ports: ChangeLog.arm sysdeps/arm/dl-irel.h
- To: commits@xxxxxxxxxx
- Subject: [commits] r14271 - in /fsf/trunk/ports: ChangeLog.arm sysdeps/arm/dl-irel.h
- From: eglibc@xxxxxxxxxx
- Date: Tue, 21 Jun 2011 14:43:19 -0000
Author: eglibc
Date: Tue Jun 21 07:43:16 2011
New Revision: 14271
Log:
Import glibc-ports-mainline for 2011-06-21
Modified:
fsf/trunk/ports/ChangeLog.arm
fsf/trunk/ports/sysdeps/arm/dl-irel.h
Modified: fsf/trunk/ports/ChangeLog.arm
==============================================================================
--- fsf/trunk/ports/ChangeLog.arm (original)
+++ fsf/trunk/ports/ChangeLog.arm Tue Jun 21 07:43:16 2011
@@ -1,3 +1,8 @@
+2011-06-21 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/arm/dl-irel.h (elf_ifunc_invoke): New.
+ (elf_irel): Use it.
+
2010-06-20 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/arm/eabi/internal_sendmmsg.S: New.
Modified: fsf/trunk/ports/sysdeps/arm/dl-irel.h
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/dl-irel.h (original)
+++ fsf/trunk/ports/sysdeps/arm/dl-irel.h Tue Jun 21 07:43:16 2011
@@ -1,6 +1,6 @@
/* 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
@@ -26,6 +26,13 @@
#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)
@@ -35,7 +42,7 @@
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