1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/patches/glibc/2.3.6/maybe/glibc-2.3.6-allow-gcc-4.0-powerpc64.patch Wed May 23 20:49:02 2007 +0000
1.3 @@ -0,0 +1,65 @@
1.4 +Fixes:
1.5 +
1.6 +In file included from dynamic-link.h:22,
1.7 + from dl-reloc.c:269:
1.8 +../sysdeps/powerpc/powerpc64/dl-machine.h: In function '_dl_relocate_object':
1.9 +../sysdeps/powerpc/powerpc64/dl-machine.h:573: error: invalid storage class for function 'elf_machine_rela_relative'
1.10 +../sysdeps/powerpc/powerpc64/dl-machine.h:607: error: invalid storage class for function 'elf_machine_rela'
1.11 +../sysdeps/powerpc/powerpc64/dl-machine.h:889: error: invalid storage class for function 'elf_machine_lazy_rel'
1.12 +make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-dev/build/powerpc64-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3-20050307/glibc-2.3-20050307/elf'
1.13 +
1.14 +--- glibc-2.3.6.orig/sysdeps/powerpc/powerpc64/dl-machine.h Thu Mar 17 13:35:23 2005
1.15 ++++ glibc-2.3.6/sysdeps/powerpc/powerpc64/dl-machine.h Thu Mar 17 13:37:12 2005
1.16 +@@ -567,8 +567,14 @@
1.17 + const Elf64_Sym *refsym)
1.18 + attribute_hidden;
1.19 +
1.20 +-auto inline void
1.21 +-__attribute__ ((always_inline))
1.22 ++#if __GNUC__ >= 4
1.23 ++ auto inline void
1.24 ++#else
1.25 ++ static inline void
1.26 ++#endif
1.27 ++#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
1.28 ++ __attribute ((always_inline))
1.29 ++#endif
1.30 + elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
1.31 + void *const reloc_addr_arg)
1.32 + {
1.33 +@@ -599,8 +605,14 @@
1.34 +
1.35 + /* Perform the relocation specified by RELOC and SYM (which is fully
1.36 + resolved). MAP is the object containing the reloc. */
1.37 +-auto inline void
1.38 +-__attribute__ ((always_inline))
1.39 ++#if __GNUC__ >= 4
1.40 ++ auto inline void
1.41 ++#else
1.42 ++ static inline void
1.43 ++#endif
1.44 ++#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
1.45 ++ __attribute ((always_inline))
1.46 ++#endif
1.47 + elf_machine_rela (struct link_map *map,
1.48 + const Elf64_Rela *reloc,
1.49 + const Elf64_Sym *sym,
1.50 +@@ -885,8 +897,14 @@
1.51 + MODIFIED_CODE_NOQUEUE (reloc_addr);
1.52 + }
1.53 +
1.54 +-auto inline void
1.55 +-__attribute__ ((always_inline))
1.56 ++#if __GNUC__ >= 4
1.57 ++ auto inline void
1.58 ++#else
1.59 ++ static inline void
1.60 ++#endif
1.61 ++#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
1.62 ++ __attribute ((always_inline))
1.63 ++#endif
1.64 + elf_machine_lazy_rel (struct link_map *map,
1.65 + Elf64_Addr l_addr, const Elf64_Rela *reloc)
1.66 + {
1.67 +
1.68 +Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>