author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
Sun Sep 12 23:38:18 2010 +0200 (2010-09-12) | |
changeset 2120 | 48de021b3a9e |
parent 402 | 197e1b49586e |
permissions | -rw-r--r-- |
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 |