--- 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) {