]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
2005-04-13 Andreas Schwab <schwab@suse.de>
authorRoland McGrath <roland@gnu.org>
Mon, 17 Oct 2005 04:52:41 +0000 (04:52 +0000)
committerRoland McGrath <roland@gnu.org>
Mon, 17 Oct 2005 04:52:41 +0000 (04:52 +0000)
[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.

sysdeps/powerpc/powerpc64/dl-machine.h

index 3fcf77df71bce47a640407940f89df4920bc6f85..aaec82193e9bc9d7229bb1314a69c8ccf89b75be 100644 (file)
@@ -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)
 {