patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-mipsel.patch
changeset 330 447b203edc2e
parent 329 419d959441ed
child 331 0c05f9ea3254
     1.1 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-mipsel.patch	Tue Aug 14 19:32:22 2007 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,81 +0,0 @@
     1.4 -Message-ID: <424A8F67.7060307@kaear.co.uk>
     1.5 -Date: Wed, 30 Mar 2005 12:37:11 +0100
     1.6 -From: Piete Sartain <kaear@kaear.co.uk>
     1.7 -To:  crossgcc@sources.redhat.com
     1.8 -Subject: [Patch]  CT 0.3 - glibc-2.2.5-allow-gcc-4.0-mipsel
     1.9 -
    1.10 -
    1.11 -I copied the relevant sections out of 
    1.12 -http://kegel.com/crosstool/crosstool-0.29/patches/glibc-2.3-20050307/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch 
    1.13 -for a mipsel target.
    1.14 -
    1.15 -The build still fails, but now with an assembler error at crtbegin.o.
    1.16 -
    1.17 -[---dank: judging from my old buildlogs, this should fix:
    1.18 -
    1.19 -In file included from dynamic-link.h:21,
    1.20 -                 from dl-reloc.c:153:
    1.21 -../sysdeps/mips/dl-machine.h: In function '_dl_relocate_object':
    1.22 -../sysdeps/mips/dl-machine.h:477: error: invalid storage class for function 'elf_machine_rel'
    1.23 -../sysdeps/mips/dl-machine.h:539: error: invalid storage class for function 'elf_machine_rel_relative'
    1.24 -../sysdeps/mips/dl-machine.h:546: error: invalid storage class for function 'elf_machine_lazy_rel'
    1.25 -../sysdeps/mips/dl-machine.h:554: error: invalid storage class for function 'elf_machine_got_rel'
    1.26 -../sysdeps/mips/dl-machine.h:641: error: invalid storage class for function 'elf_machine_runtime_setup'
    1.27 -make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-0.30/build/mipsel-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5/elf'
    1.28 -make[2]: *** [/home/dank/queue/jobdir.fast2/crosstool-0.30/build/mipsel-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/build-glibc/elf/dl-reloc.o] Error 1
    1.29 -make[1]: *** [elf/subdir_lib] Error 2
    1.30 -make[1]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-0.30/build/mipsel-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5'
    1.31 -make: *** [all] Error 2
    1.32 ----]
    1.33 -
    1.34 -
    1.35 ---- glibc-2.2.5/sysdeps/mips/dl-machine.h.old	2005-03-28 18:19:56.000000000 +0100
    1.36 -+++ glibc-2.2.5/sysdeps/mips/dl-machine.h	2005-03-28 18:25:15.000000000 +0100
    1.37 -@@ -534,14 +534,28 @@
    1.38 -     }
    1.39 - }
    1.40 - 
    1.41 --static inline void
    1.42 -+#if __GNUC__ >= 4
    1.43 -+  auto inline void
    1.44 -+#else
    1.45 -+  static inline void
    1.46 -+#endif
    1.47 -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
    1.48 -+  __attribute ((always_inline))
    1.49 -+#endif
    1.50 - elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc,
    1.51 - 			  ElfW(Addr) *const reloc_addr)
    1.52 - {
    1.53 -   /* XXX Nothing to do.  There is no relative relocation, right?  */
    1.54 - }
    1.55 - 
    1.56 --static inline void
    1.57 -+#if __GNUC__ >= 4
    1.58 -+  auto inline void
    1.59 -+#else
    1.60 -+  static inline void
    1.61 -+#endif
    1.62 -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
    1.63 -+  __attribute ((always_inline))
    1.64 -+#endif
    1.65 - elf_machine_lazy_rel (struct link_map *map,
    1.66 - 		      ElfW(Addr) l_addr, const ElfW(Rel) *reloc)
    1.67 - {
    1.68 -@@ -550,7 +564,14 @@
    1.69 - 
    1.70 - #ifndef RTLD_BOOTSTRAP
    1.71 - /* Relocate GOT. */
    1.72 --static inline void
    1.73 -+#if __GNUC__ >= 4
    1.74 -+  auto inline void
    1.75 -+#else
    1.76 -+  static inline void
    1.77 -+#endif
    1.78 -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
    1.79 -+  __attribute ((always_inline))
    1.80 -+#endif
    1.81 - elf_machine_got_rel (struct link_map *map, int lazy)
    1.82 - {
    1.83 -   ElfW(Addr) *got;
    1.84 -