patches/glibc/2.3.6/170-allow-gcc-4.0-arm.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Sep 04 17:27:16 2009 +0200 (2009-09-04)
changeset 1512 439a6b292917
parent 402 197e1b49586e
permissions -rw-r--r--
TODO: update

Add TODO list for m4, autoconf, automake and libtool.
Building our own versions would remove burden from the users
who have older versions on their distributions, and are not
ready/able/allowed to upgrade.
     1 Fixes
     2 In file included from dynamic-link.h:22,
     3                  from dl-reloc.c:265:
     4 ../sysdeps/arm/dl-machine.h: In function '_dl_relocate_object':
     5 ../sysdeps/arm/dl-machine.h:371: error: invalid storage class for function 'fix_bad_pc24'
     6 make[2]: Leaving directory `/home/dank/queue/jobdir.k8/crosstool-dev/build/arm-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3.6/glibc-2.3.6/elf'
     7 
     8 when building glibc-2.3.6 with gcc-4.0
     9 
    10 Like
    11 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/arm/dl-machine.h.diff?r1=1.51&r2=1.52&cvsroot=glibc
    12 but fixes fix_bad_pc24.
    13 
    14 
    15 --- glibc-2.3.6-orig/sysdeps/arm/dl-machine.h	Sun Mar 20 17:54:37 2005
    16 +++ glibc-2.3.6/sysdeps/arm/dl-machine.h	Sun Mar 20 17:57:32 2005
    17 @@ -357,7 +357,14 @@
    18  #ifdef RESOLVE
    19  
    20  /* Deal with an out-of-range PC24 reloc.  */
    21 -static Elf32_Addr
    22 +#if __GNUC__ >= 4
    23 +  auto inline Elf32_Addr
    24 +#else
    25 +  static inline Elf32_Addr
    26 +#endif
    27 +#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
    28 +  __attribute ((always_inline))
    29 +#endif
    30  fix_bad_pc24 (Elf32_Addr *const reloc_addr, Elf32_Addr value)
    31  {
    32    static void *fix_page;
    33 
    34 Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
    35 with a little editing by dank@kegel.com