patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-x86_64.patch
changeset 109 d95ccd73ed92
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-x86_64.patch	Sat May 19 22:54:20 2007 +0000
     1.3 @@ -0,0 +1,60 @@
     1.4 +Fixes
     1.5 +
     1.6 +In file included from dynamic-link.h:22,
     1.7 +                 from dl-reloc.c:265:
     1.8 +../sysdeps/x86_64/dl-machine.h: In function '_dl_relocate_object':
     1.9 +../sysdeps/x86_64/dl-machine.h:361: error: invalid storage class for function 'elf_machine_rela'
    1.10 +../sysdeps/x86_64/dl-machine.h:525: error: invalid storage class for function 'elf_machine_rela_relative'
    1.11 +../sysdeps/x86_64/dl-machine.h:534: error: invalid storage class for function 'elf_machine_lazy_rel'
    1.12 +make[2]: *** [/home/dank/queue/jobdir.fast/crosstool-dev/build/x86_64-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3.3/build-glibc/elf/dl-reloc.o] Error 1
    1.13 +
    1.14 +--- glibc-2.3.3/sysdeps/x86_64/dl-machine.h.old	Wed Mar 16 16:19:15 2005
    1.15 ++++ glibc-2.3.3/sysdeps/x86_64/dl-machine.h	Wed Mar 16 16:22:09 2005
    1.16 +@@ -354,7 +354,14 @@
    1.17 + /* Perform the relocation specified by RELOC and SYM (which is fully resolved).
    1.18 +    MAP is the object containing the reloc.  */
    1.19 + 
    1.20 +-static inline void
    1.21 ++#if __GNUC__ >= 4
    1.22 ++  auto inline void
    1.23 ++#else
    1.24 ++  static inline void
    1.25 ++#endif
    1.26 ++#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
    1.27 ++  __attribute ((always_inline))
    1.28 ++#endif
    1.29 + elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
    1.30 + 		  const Elf64_Sym *sym, const struct r_found_version *version,
    1.31 + 		  void *const reloc_addr_arg)
    1.32 +@@ -519,7 +526,14 @@
    1.33 +     }
    1.34 + }
    1.35 + 
    1.36 +-static inline void
    1.37 ++#if __GNUC__ >= 4
    1.38 ++  auto inline void
    1.39 ++#else
    1.40 ++  static inline void
    1.41 ++#endif
    1.42 ++#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
    1.43 ++  __attribute ((always_inline))
    1.44 ++#endif
    1.45 + elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
    1.46 + 			   void *const reloc_addr_arg)
    1.47 + {
    1.48 +@@ -528,7 +542,14 @@
    1.49 +   *reloc_addr = l_addr + reloc->r_addend;
    1.50 + }
    1.51 + 
    1.52 +-static inline void
    1.53 ++#if __GNUC__ >= 4
    1.54 ++  auto inline void
    1.55 ++#else
    1.56 ++  static inline void
    1.57 ++#endif
    1.58 ++#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
    1.59 ++  __attribute ((always_inline))
    1.60 ++#endif
    1.61 + elf_machine_lazy_rel (struct link_map *map,
    1.62 + 		      Elf64_Addr l_addr, const Elf64_Rela *reloc)
    1.63 + {