patches/glibc/2.3.6/maybe/100-allow-gcc-4.0-powerpc32.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
parent 1 eeea35fbf182
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

When configuring in an hg clone, we need hg to compute the version string.
It can happen that users do not have Mercurial (eg. if they got a snapshot
rather that they did a full clone). In this case, we can still run, of
course, so simply fill the version string with a sufficiently explicit
value, that does not require hg. The date is a good candidate.
yann@1
     1
Fixes
yann@1
     2
yann@1
     3
../sysdeps/powerpc/powerpc32/dl-machine.h: In function '_dl_relocate_object':
yann@1
     4
../sysdeps/powerpc/powerpc32/dl-machine.h:461: error: invalid storage class for function 'elf_machine_rela_relative'
yann@1
     5
../sysdeps/powerpc/powerpc32/dl-machine.h:469: error: invalid storage class for function 'elf_machine_lazy_rel'
yann@1
     6
make[2]: *** [/home/dank/queue/jobdir.dual2/crosstool-dev/build/powerpc-750-linux-gnu/gcc-4.0-20050305-glibc-2.3-20050307/build-glibc/elf/dl-reloc.o] Error 1
yann@1
     7
yann@1
     8
--- glibc-2.3.6.orig/sysdeps/powerpc/powerpc32/dl-machine.h	Wed Jul 30 23:33:52 2003
yann@1
     9
+++ glibc-2.3.6/sysdeps/powerpc/powerpc32/dl-machine.h		Thu Mar 17 13:19:16 2005
yann@1
    10
@@ -455,8 +455,14 @@
yann@1
    11
     }
yann@1
    12
 }
yann@1
    13
 
yann@1
    14
-auto inline void
yann@1
    15
-__attribute__ ((always_inline))
yann@1
    16
+#if __GNUC__ >= 4
yann@1
    17
+  auto inline void
yann@1
    18
+#else
yann@1
    19
+  static inline void
yann@1
    20
+#endif
yann@1
    21
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
yann@1
    22
+  __attribute ((always_inline))
yann@1
    23
+#endif
yann@1
    24
 elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
yann@1
    25
 			   void *const reloc_addr_arg)
yann@1
    26
 {
yann@1
    27
@@ -464,8 +470,14 @@
yann@1
    28
   *reloc_addr = l_addr + reloc->r_addend;
yann@1
    29
 }
yann@1
    30
 
yann@1
    31
-auto inline void
yann@1
    32
-__attribute__ ((always_inline))
yann@1
    33
+#if __GNUC__ >= 4
yann@1
    34
+  auto inline void
yann@1
    35
+#else
yann@1
    36
+  static inline void
yann@1
    37
+#endif
yann@1
    38
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
yann@1
    39
+  __attribute ((always_inline))
yann@1
    40
+#endif
yann@1
    41
 elf_machine_lazy_rel (struct link_map *map,
yann@1
    42
 		      Elf32_Addr l_addr, const Elf32_Rela *reloc)
yann@1
    43
 {
yann@1
    44
yann@1
    45
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>