patches/glibc/2.3.6/170-allow-gcc-4.0-arm.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jun 11 21:47:19 2009 +0000 (2009-06-11)
branch1.4
changeset 1451 25d050084e98
parent 402 197e1b49586e
permissions -rw-r--r--
populate: fix installing dynamic linker 'ld.so'

The dynamic linker, ld.so, needs the execute bit to be set.
Detect tht the library being installed is in fact ld.so and
install it with 0755 instead of 0644.

Fix detecting src == dst.

Use a simpler command to copy src -> dst.

Also change echo to printf, get rid of 'echo -n', which is
highly non-portable.


-------- diffstat follows --------
/trunk/scripts/populate.in | 76 43 33 0 +++++++++++++++++++++++++++++-----------------------
1 file changed, 43 insertions(+), 33 deletions(-)
(transplanted from d7ddcb75e0f703e2ba6d17169167356389224870)
yann@402
     1
Fixes
yann@402
     2
In file included from dynamic-link.h:22,
yann@402
     3
                 from dl-reloc.c:265:
yann@402
     4
../sysdeps/arm/dl-machine.h: In function '_dl_relocate_object':
yann@402
     5
../sysdeps/arm/dl-machine.h:371: error: invalid storage class for function 'fix_bad_pc24'
yann@402
     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'
yann@402
     7
yann@402
     8
when building glibc-2.3.6 with gcc-4.0
yann@402
     9
yann@402
    10
Like
yann@402
    11
http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/arm/dl-machine.h.diff?r1=1.51&r2=1.52&cvsroot=glibc
yann@402
    12
but fixes fix_bad_pc24.
yann@402
    13
yann@402
    14
yann@402
    15
--- glibc-2.3.6-orig/sysdeps/arm/dl-machine.h	Sun Mar 20 17:54:37 2005
yann@402
    16
+++ glibc-2.3.6/sysdeps/arm/dl-machine.h	Sun Mar 20 17:57:32 2005
yann@402
    17
@@ -357,7 +357,14 @@
yann@402
    18
 #ifdef RESOLVE
yann@402
    19
 
yann@402
    20
 /* Deal with an out-of-range PC24 reloc.  */
yann@402
    21
-static Elf32_Addr
yann@402
    22
+#if __GNUC__ >= 4
yann@402
    23
+  auto inline Elf32_Addr
yann@402
    24
+#else
yann@402
    25
+  static inline Elf32_Addr
yann@402
    26
+#endif
yann@402
    27
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
yann@402
    28
+  __attribute ((always_inline))
yann@402
    29
+#endif
yann@402
    30
 fix_bad_pc24 (Elf32_Addr *const reloc_addr, Elf32_Addr value)
yann@402
    31
 {
yann@402
    32
   static void *fix_page;
yann@402
    33
yann@402
    34
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
yann@402
    35
with a little editing by dank@kegel.com