about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2005-10-17 04:52:41 +0000
committerRoland McGrath <roland@gnu.org>2005-10-17 04:52:41 +0000
commit429f5637242900669167b72c5b9511d12b2bf7c8 (patch)
tree494ffdb8a47de9f4d23a02687d0ac627e444870c
parent9871f0a9931125425783141c0821014c043f5f04 (diff)
downloadglibc-429f5637242900669167b72c5b9511d12b2bf7c8.tar.gz
glibc-429f5637242900669167b72c5b9511d12b2bf7c8.tar.xz
glibc-429f5637242900669167b72c5b9511d12b2bf7c8.zip
2005-04-13 Andreas Schwab <schwab@suse.de>
	[BZ #721]
	* sysdeps/ia64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE)
	[PROF]: Open code strong_alias because the original name is not
	visible to the compiler.
	* sysdeps/powerpc/powerpc64/dl-machine.h
	(ELF_MACHINE_RUNTIME_TRAMPOLINE) [PROF]: Likewise.
2005-02-14  Alan Modra  <amodra@bigpond.net.au>

	[BZ #721]
	* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Define
	with auto inline, and attribute always_inline.
	(elf_machine_rela_relative, elf_machine_lazy_rel): Likewise.
	(elf_machine_rel, elf_machine_rel_relative): Likewise.
	* sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): Likewise.
	(elf_machine_rela_relative, elf_machine_lazy_rel): Likewise.
	(elf_machine_rel, elf_machine_rel_relative): Likewise.
	(elf_machine_tprel): Likewise.
-rw-r--r--sysdeps/powerpc/powerpc64/dl-machine.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/sysdeps/powerpc/powerpc64/dl-machine.h b/sysdeps/powerpc/powerpc64/dl-machine.h
index 3fcf77df71..aaec82193e 100644
--- a/sysdeps/powerpc/powerpc64/dl-machine.h
+++ b/sysdeps/powerpc/powerpc64/dl-machine.h
@@ -190,8 +190,8 @@ BODY_PREFIX #tramp_name ":\n"						\
 #else
 #define ELF_MACHINE_RUNTIME_TRAMPOLINE			\
   TRAMPOLINE_TEMPLATE (_dl_runtime_resolve, fixup);	\
-  void _dl_runtime_resolve (void);			\
-  strong_alias (_dl_runtime_resolve, _dl_profile_resolve);
+  asm (".globl _dl_profile_resolve\n"			\
+       ".set _dl_profile_resolve, _dl_runtime_resolve");
 #endif
 
 #ifdef HAVE_INLINED_SYSCALLS
@@ -567,7 +567,8 @@ extern void _dl_reloc_overflow (struct link_map *map,
                                 const Elf64_Sym *refsym)
                                 attribute_hidden;
 
-static inline void
+auto inline void
+__attribute__ ((always_inline))
 elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
 			   void *const reloc_addr_arg)
 {
@@ -577,7 +578,7 @@ elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
 
 #if defined USE_TLS && (!defined RTLD_BOOTSTRAP || USE___THREAD)
 /* This computes the value used by TPREL* relocs.  */
-static Elf64_Addr __attribute__ ((const))
+auto inline Elf64_Addr __attribute__ ((always_inline, const))
 elf_machine_tprel (struct link_map *map,
 		   struct link_map *sym_map,
 		   const Elf64_Sym *sym,
@@ -598,7 +599,8 @@ elf_machine_tprel (struct link_map *map,
 
 /* Perform the relocation specified by RELOC and SYM (which is fully
    resolved).  MAP is the object containing the reloc.  */
-static inline void
+auto inline void
+__attribute__ ((always_inline))
 elf_machine_rela (struct link_map *map,
 		  const Elf64_Rela *reloc,
 		  const Elf64_Sym *sym,
@@ -883,7 +885,8 @@ elf_machine_rela (struct link_map *map,
   MODIFIED_CODE_NOQUEUE (reloc_addr);
 }
 
-static inline void
+auto inline void
+__attribute__ ((always_inline))
 elf_machine_lazy_rel (struct link_map *map,
 		      Elf64_Addr l_addr, const Elf64_Rela *reloc)
 {