patches/glibc/2.3.6/maybe/101-allow-gcc-4.0-powerpc64.patch
author Remy Bohmer <linux@bohmer.net>
Sun Jul 11 22:23:34 2010 +0200 (2010-07-11)
changeset 2021 3e52a1510f87
parent 1 eeea35fbf182
permissions -rw-r--r--
debug/gdb: Fix compilation for Mingw hosts

GDB requires PDcurses instead of ncurses while running on Windows.
So, do not always compile ncurses in case GDB needs to build.

PDcurses is provided by an earlier build step and is not described in
this file.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
[yann.morin.1998@anciense.nib.fr: we already have a way to detect ncurses usage]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     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>