about summary refs log tree commit diff
path: root/csu/elf-init.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2012-08-21 15:01:27 -0700
committerRoland McGrath <roland@hack.frob.com>2012-08-21 15:01:27 -0700
commit21ad055803de5dd03606588753c46fbf8a5863b2 (patch)
treecb9f135af9ffea2cb34ffd07f5d77daba060e141 /csu/elf-init.c
parent0e1d99119e7851c112aefce64574506f8183e648 (diff)
downloadglibc-21ad055803de5dd03606588753c46fbf8a5863b2.tar.gz
glibc-21ad055803de5dd03606588753c46fbf8a5863b2.tar.xz
glibc-21ad055803de5dd03606588753c46fbf8a5863b2.zip
Support static IFUNC calls irrespective of USE_MULTIARCH.
Diffstat (limited to 'csu/elf-init.c')
-rw-r--r--csu/elf-init.c45
1 files changed, 2 insertions, 43 deletions
diff --git a/csu/elf-init.c b/csu/elf-init.c
index 91ba74ce55..8b4431ba0c 100644
--- a/csu/elf-init.c
+++ b/csu/elf-init.c
@@ -1,6 +1,5 @@
 /* Startup support for ELF initializers/finalizers in the main executable.
-   Copyright (C) 2002,2003,2004,2005,2009,2011
-	Free Software Foundation, Inc.
+   Copyright (C) 2002-2012 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
@@ -36,20 +35,6 @@
 
 #include <stddef.h>
 
-#if defined USE_MULTIARCH && !defined LIBC_NONSHARED
-# include <link.h>
-# include <dl-irel.h>
-
-# ifdef ELF_MACHINE_IRELA
-extern const ElfW(Rela) __rela_iplt_start [];
-extern const ElfW(Rela) __rela_iplt_end [];
-# endif
-
-# ifdef ELF_MACHINE_IREL
-extern const ElfW(Rel) __rel_iplt_start [];
-extern const ElfW(Rel) __rel_iplt_end [];
-# endif
-#endif	/* LIBC_NONSHARED */
 
 /* These magic symbols are provided by the linker.  */
 extern void (*__preinit_array_start []) (int, char **, char **)
@@ -72,33 +57,7 @@ extern void _fini (void);
 /* These functions are passed to __libc_start_main by the startup code.
    These get statically linked into each program.  For dynamically linked
    programs, this module will come from libc_nonshared.a and differs from
-   the libc.a module in that it doesn't call the preinit array and performs
-   explicit IREL{,A} relocations.  */
-
-
-#ifndef LIBC_NONSHARED
-void
-__libc_csu_irel (void)
-{
-# ifdef USE_MULTIARCH
-#  ifdef ELF_MACHINE_IRELA
-  {
-    const size_t size = __rela_iplt_end - __rela_iplt_start;
-    for (size_t i = 0; i < size; i++)
-      elf_irela (&__rela_iplt_start [i]);
-  }
-#  endif
-
-#  ifdef ELF_MACHINE_IREL
-  {
-    const size_t size = __rel_iplt_end - __rel_iplt_start;
-    for (size_t i = 0; i < size; i++)
-      elf_irel (&__rel_iplt_start [i]);
-  }
-#  endif
-# endif
-}
-#endif
+   the libc.a module in that it doesn't call the preinit array.  */
 
 
 void