patches/glibc/2.3.6/maybe/101-allow-gcc-4.0-powerpc64.patch
author Bart vdr. Meulen <bartvdrmeulen@gmail.com>
Fri Apr 09 21:04:24 2010 +0200 (2010-04-09)
changeset 1895 3ea4e6f7b85f
parent 1 eeea35fbf182
permissions -rw-r--r--
[CT-NG:patch 05/19] Force autoreconf for mpfr

In some exotic case the autoreconf step of mpfr is not executed (correctly)
leaving an incorrect version number for libtool in the configure script.

After extracting the sources files, force autoreconf to be executed.

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
yann@1
     1
Fixes:
yann@1
     2
yann@1
     3
In file included from dynamic-link.h:22,
yann@1
     4
                 from dl-reloc.c:269:
yann@1
     5
../sysdeps/powerpc/powerpc64/dl-machine.h: In function '_dl_relocate_object':
yann@1
     6
../sysdeps/powerpc/powerpc64/dl-machine.h:573: error: invalid storage class for function 'elf_machine_rela_relative'
yann@1
     7
../sysdeps/powerpc/powerpc64/dl-machine.h:607: error: invalid storage class for function 'elf_machine_rela'
yann@1
     8
../sysdeps/powerpc/powerpc64/dl-machine.h:889: error: invalid storage class for function 'elf_machine_lazy_rel'
yann@1
     9
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'
yann@1
    10
yann@1
    11
--- glibc-2.3.6.orig/sysdeps/powerpc/powerpc64/dl-machine.h	Thu Mar 17 13:35:23 2005
yann@1
    12
+++ glibc-2.3.6/sysdeps/powerpc/powerpc64/dl-machine.h		Thu Mar 17 13:37:12 2005
yann@1
    13
@@ -567,8 +567,14 @@
yann@1
    14
                                 const Elf64_Sym *refsym)
yann@1
    15
                                 attribute_hidden;
yann@1
    16
 
yann@1
    17
-auto inline void
yann@1
    18
-__attribute__ ((always_inline))
yann@1
    19
+#if __GNUC__ >= 4
yann@1
    20
+  auto inline void
yann@1
    21
+#else
yann@1
    22
+  static inline void
yann@1
    23
+#endif
yann@1
    24
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
yann@1
    25
+  __attribute ((always_inline))
yann@1
    26
+#endif
yann@1
    27
 elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
yann@1
    28
 			   void *const reloc_addr_arg)
yann@1
    29
 {
yann@1
    30
@@ -599,8 +605,14 @@
yann@1
    31
 
yann@1
    32
 /* Perform the relocation specified by RELOC and SYM (which is fully
yann@1
    33
    resolved).  MAP is the object containing the reloc.  */
yann@1
    34
-auto inline void
yann@1
    35
-__attribute__ ((always_inline))
yann@1
    36
+#if __GNUC__ >= 4
yann@1
    37
+  auto inline void
yann@1
    38
+#else
yann@1
    39
+  static inline void
yann@1
    40
+#endif
yann@1
    41
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
yann@1
    42
+  __attribute ((always_inline))
yann@1
    43
+#endif
yann@1
    44
 elf_machine_rela (struct link_map *map,
yann@1
    45
 		  const Elf64_Rela *reloc,
yann@1
    46
 		  const Elf64_Sym *sym,
yann@1
    47
@@ -885,8 +897,14 @@
yann@1
    48
   MODIFIED_CODE_NOQUEUE (reloc_addr);
yann@1
    49
 }
yann@1
    50
 
yann@1
    51
-auto inline void
yann@1
    52
-__attribute__ ((always_inline))
yann@1
    53
+#if __GNUC__ >= 4
yann@1
    54
+  auto inline void
yann@1
    55
+#else
yann@1
    56
+  static inline void
yann@1
    57
+#endif
yann@1
    58
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
yann@1
    59
+  __attribute ((always_inline))
yann@1
    60
+#endif
yann@1
    61
 elf_machine_lazy_rel (struct link_map *map,
yann@1
    62
 		      Elf64_Addr l_addr, const Elf64_Rela *reloc)
yann@1
    63
 {
yann@1
    64
yann@1
    65
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>