yann@1
|
1 |
Message-ID: <424A8F67.7060307@kaear.co.uk>
|
yann@1
|
2 |
Date: Wed, 30 Mar 2005 12:37:11 +0100
|
yann@1
|
3 |
From: Piete Sartain <kaear@kaear.co.uk>
|
yann@1
|
4 |
To: crossgcc@sources.redhat.com
|
yann@1
|
5 |
Subject: [Patch] CT 0.3 - glibc-2.2.5-allow-gcc-4.0-mipsel
|
yann@1
|
6 |
|
yann@1
|
7 |
|
yann@1
|
8 |
I copied the relevant sections out of
|
yann@1
|
9 |
http://kegel.com/crosstool/crosstool-0.29/patches/glibc-2.3-20050307/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch
|
yann@1
|
10 |
for a mipsel target.
|
yann@1
|
11 |
|
yann@1
|
12 |
The build still fails, but now with an assembler error at crtbegin.o.
|
yann@1
|
13 |
|
yann@1
|
14 |
[---dank: judging from my old buildlogs, this should fix:
|
yann@1
|
15 |
|
yann@1
|
16 |
In file included from dynamic-link.h:21,
|
yann@1
|
17 |
from dl-reloc.c:153:
|
yann@1
|
18 |
../sysdeps/mips/dl-machine.h: In function '_dl_relocate_object':
|
yann@1
|
19 |
../sysdeps/mips/dl-machine.h:477: error: invalid storage class for function 'elf_machine_rel'
|
yann@1
|
20 |
../sysdeps/mips/dl-machine.h:539: error: invalid storage class for function 'elf_machine_rel_relative'
|
yann@1
|
21 |
../sysdeps/mips/dl-machine.h:546: error: invalid storage class for function 'elf_machine_lazy_rel'
|
yann@1
|
22 |
../sysdeps/mips/dl-machine.h:554: error: invalid storage class for function 'elf_machine_got_rel'
|
yann@1
|
23 |
../sysdeps/mips/dl-machine.h:641: error: invalid storage class for function 'elf_machine_runtime_setup'
|
yann@1
|
24 |
make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-0.30/build/mipsel-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5/elf'
|
yann@1
|
25 |
make[2]: *** [/home/dank/queue/jobdir.fast2/crosstool-0.30/build/mipsel-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/build-glibc/elf/dl-reloc.o] Error 1
|
yann@1
|
26 |
make[1]: *** [elf/subdir_lib] Error 2
|
yann@1
|
27 |
make[1]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-0.30/build/mipsel-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5'
|
yann@1
|
28 |
make: *** [all] Error 2
|
yann@1
|
29 |
---]
|
yann@1
|
30 |
|
yann@1
|
31 |
|
yann@1
|
32 |
--- glibc-2.2.5/sysdeps/mips/dl-machine.h.old 2005-03-28 18:19:56.000000000 +0100
|
yann@1
|
33 |
+++ glibc-2.2.5/sysdeps/mips/dl-machine.h 2005-03-28 18:25:15.000000000 +0100
|
yann@1
|
34 |
@@ -534,14 +534,28 @@
|
yann@1
|
35 |
}
|
yann@1
|
36 |
}
|
yann@1
|
37 |
|
yann@1
|
38 |
-static inline void
|
yann@1
|
39 |
+#if __GNUC__ >= 4
|
yann@1
|
40 |
+ auto inline void
|
yann@1
|
41 |
+#else
|
yann@1
|
42 |
+ static inline void
|
yann@1
|
43 |
+#endif
|
yann@1
|
44 |
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
|
yann@1
|
45 |
+ __attribute ((always_inline))
|
yann@1
|
46 |
+#endif
|
yann@1
|
47 |
elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc,
|
yann@1
|
48 |
ElfW(Addr) *const reloc_addr)
|
yann@1
|
49 |
{
|
yann@1
|
50 |
/* XXX Nothing to do. There is no relative relocation, right? */
|
yann@1
|
51 |
}
|
yann@1
|
52 |
|
yann@1
|
53 |
-static inline void
|
yann@1
|
54 |
+#if __GNUC__ >= 4
|
yann@1
|
55 |
+ auto inline void
|
yann@1
|
56 |
+#else
|
yann@1
|
57 |
+ static inline void
|
yann@1
|
58 |
+#endif
|
yann@1
|
59 |
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
|
yann@1
|
60 |
+ __attribute ((always_inline))
|
yann@1
|
61 |
+#endif
|
yann@1
|
62 |
elf_machine_lazy_rel (struct link_map *map,
|
yann@1
|
63 |
ElfW(Addr) l_addr, const ElfW(Rel) *reloc)
|
yann@1
|
64 |
{
|
yann@1
|
65 |
@@ -550,7 +564,14 @@
|
yann@1
|
66 |
|
yann@1
|
67 |
#ifndef RTLD_BOOTSTRAP
|
yann@1
|
68 |
/* Relocate GOT. */
|
yann@1
|
69 |
-static inline void
|
yann@1
|
70 |
+#if __GNUC__ >= 4
|
yann@1
|
71 |
+ auto inline void
|
yann@1
|
72 |
+#else
|
yann@1
|
73 |
+ static inline void
|
yann@1
|
74 |
+#endif
|
yann@1
|
75 |
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
|
yann@1
|
76 |
+ __attribute ((always_inline))
|
yann@1
|
77 |
+#endif
|
yann@1
|
78 |
elf_machine_got_rel (struct link_map *map, int lazy)
|
yann@1
|
79 |
{
|
yann@1
|
80 |
ElfW(Addr) *got;
|
yann@1
|
81 |
|