Submitted By: Ryan Oliver <ryan.oliver@pha.com.au> 
Date: 2005-05-03 (updated 20050603)
Initial Package Version: 2.3.4
Origin: fix_bad_pc24 from Dan Kegel's crosstool, rest from glibc cvs
Upstream Status: all except fix_bad_pc24 fixed in glibc cvs
Description: 

( edited changelog entries )
2005-03-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rel_relative,
	elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel):
	Add inline keyword.

2005-03-05  Jakub Jelinek  <jakub@redhat.com>

        * sysdeps/arm/dl-machine.h (ELF_MACHINE_NO_RELA): Define
        unconditionally to (defined RTLD_BOOTSTRAP).

2005-03-01  Roland McGrath  <roland@redhat.com>

	[BZ #721]
	* sysdeps/arm/dl-machine.h (ELF_MACHINE_NO_RELA): Define this outside
	of [RESOLVE_MAP]

fix_bad_pc24 fix from Dan Kegel's crosstool

--- glibc-2.3.4/sysdeps/arm/dl-machine.h-orig	2004-12-05 08:20:17.000000000 +1100
+++ glibc-2.3.4/sysdeps/arm/dl-machine.h	2005-06-03 15:33:44.000000000 +1000
@@ -350,16 +350,15 @@
 
 #endif /* !dl_machine_h */
 
-#ifdef RESOLVE
-
 /* ARM never uses Elf32_Rela relocations for the dynamic linker.
    Prelinked libraries may use Elf32_Rela though.  */
-# ifdef RTLD_BOOTSTRAP
-#  define ELF_MACHINE_NO_RELA 1
-# endif
+#define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP
+
+#ifdef RESOLVE
 
 /* Deal with an out-of-range PC24 reloc.  */
-static Elf32_Addr
+auto inline Elf32_Addr
+__attribute__ ((always_inline))
 fix_bad_pc24 (Elf32_Addr *const reloc_addr, Elf32_Addr value)
 {
   static void *fix_page;
@@ -392,7 +391,8 @@
 /* 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_rel (struct link_map *map, const Elf32_Rel *reloc,
 		 const Elf32_Sym *sym, const struct r_found_version *version,
 		 void *const reloc_addr_arg)
@@ -517,7 +517,8 @@
 }
 
 # ifndef RTLD_BOOTSTRAP
-static inline void
+auto inline void
+__attribute__ ((always_inline))
 elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
 		  const Elf32_Sym *sym, const struct r_found_version *version,
 		  void *const reloc_addr_arg)
@@ -597,7 +598,8 @@
 }
 # endif
 
-static inline void
+auto inline void
+__attribute__ ((always_inline))
 elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
 			  void *const reloc_addr_arg)
 {
@@ -606,7 +608,8 @@
 }
 
 # ifndef RTLD_BOOTSTRAP
-static inline void
+auto inline void
+__attribute__ ((always_inline))
 elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
 			   void *const reloc_addr_arg)
 {
@@ -615,7 +618,8 @@
 }
 # endif
 
-static inline void
+auto inline void
+__attribute__ ((always_inline))
 elf_machine_lazy_rel (struct link_map *map,
 		      Elf32_Addr l_addr, const Elf32_Rel *reloc)
 {
