patches/glibc/2.3.6/maybe/101-allow-gcc-4.0-powerpc64.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Jul 28 20:10:34 2008 +0000 (2008-07-28)
changeset 744 4bf8448536d5
parent 1 patches/glibc/2.3.6/maybe/glibc-2.3.6-allow-gcc-4.0-powerpc64.patch@eeea35fbf182
permissions -rw-r--r--
Rename patches for glibc: include neither 'glibc' not he version in patch names, it's a duplicate of info already available from the directories they are in.
     1 Fixes:
     2 
     3 In file included from dynamic-link.h:22,
     4                  from dl-reloc.c:269:
     5 ../sysdeps/powerpc/powerpc64/dl-machine.h: In function '_dl_relocate_object':
     6 ../sysdeps/powerpc/powerpc64/dl-machine.h:573: error: invalid storage class for function 'elf_machine_rela_relative'
     7 ../sysdeps/powerpc/powerpc64/dl-machine.h:607: error: invalid storage class for function 'elf_machine_rela'
     8 ../sysdeps/powerpc/powerpc64/dl-machine.h:889: error: invalid storage class for function 'elf_machine_lazy_rel'
     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'
    10 
    11 --- glibc-2.3.6.orig/sysdeps/powerpc/powerpc64/dl-machine.h	Thu Mar 17 13:35:23 2005
    12 +++ glibc-2.3.6/sysdeps/powerpc/powerpc64/dl-machine.h		Thu Mar 17 13:37:12 2005
    13 @@ -567,8 +567,14 @@
    14                                  const Elf64_Sym *refsym)
    15                                  attribute_hidden;
    16  
    17 -auto inline void
    18 -__attribute__ ((always_inline))
    19 +#if __GNUC__ >= 4
    20 +  auto inline void
    21 +#else
    22 +  static inline void
    23 +#endif
    24 +#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
    25 +  __attribute ((always_inline))
    26 +#endif
    27  elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
    28  			   void *const reloc_addr_arg)
    29  {
    30 @@ -599,8 +605,14 @@
    31  
    32  /* Perform the relocation specified by RELOC and SYM (which is fully
    33     resolved).  MAP is the object containing the reloc.  */
    34 -auto inline void
    35 -__attribute__ ((always_inline))
    36 +#if __GNUC__ >= 4
    37 +  auto inline void
    38 +#else
    39 +  static inline void
    40 +#endif
    41 +#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
    42 +  __attribute ((always_inline))
    43 +#endif
    44  elf_machine_rela (struct link_map *map,
    45  		  const Elf64_Rela *reloc,
    46  		  const Elf64_Sym *sym,
    47 @@ -885,8 +897,14 @@
    48    MODIFIED_CODE_NOQUEUE (reloc_addr);
    49  }
    50  
    51 -auto inline void
    52 -__attribute__ ((always_inline))
    53 +#if __GNUC__ >= 4
    54 +  auto inline void
    55 +#else
    56 +  static inline void
    57 +#endif
    58 +#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
    59 +  __attribute ((always_inline))
    60 +#endif
    61  elf_machine_lazy_rel (struct link_map *map,
    62  		      Elf64_Addr l_addr, const Elf64_Rela *reloc)
    63  {
    64 
    65 Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>