]>
Commit | Line | Data |
---|---|---|
b1c84420 PS |
1 | This patch fixes build error |
2 | ||
3 | 1). | |
4 | In file included from ../include/pthread.h:1, | |
5 | from ../nptl/sysdeps/pthread/bits/libc-lock.h:23, | |
6 | from ./gconv_int.h:25, | |
7 | from gconv.c:23: | |
8 | ../nptl/sysdeps/pthread/pthread.h:664: error: array type has incomplete element type | |
9 | ||
10 | 2). | |
11 | rtld.c: In function '_dl_start': | |
12 | dynamic-link.h:47: error: nested function 'elf_machine_rela_relative' declared but never defined | |
13 | dynamic-link.h:41: error: nested function 'elf_machine_rela' declared but never defined | |
14 | ||
15 | 3). | |
16 | In file included from jis0208.c:23: | |
17 | jis0208.h:32: error: array type has incomplete element type | |
18 | ||
19 | elf/dynamic-link.h | 37 ------------------------------------- | |
20 | iconvdata/jis0208.h | 16 +++++++--------- | |
21 | nptl/sysdeps/pthread/pthread.h | 3 +-- | |
22 | 3 files changed, 8 insertions(+), 48 deletions(-) | |
23 | ||
24 | --- glibc-2.3.4/nptl/sysdeps/pthread/pthread.h.orig 2004-11-24 23:55:24.000000000 +0100 | |
25 | +++ glibc-2.3.4/nptl/sysdeps/pthread/pthread.h 2005-02-14 16:24:22.104239520 +0100 | |
26 | @@ -24,9 +24,9 @@ | |
27 | #include <time.h> | |
28 | ||
29 | #define __need_sigset_t | |
30 | +#include <setjmp.h> | |
31 | #include <signal.h> | |
32 | #include <bits/pthreadtypes.h> | |
33 | -#include <bits/setjmp.h> | |
34 | #include <bits/wordsize.h> | |
35 | ||
36 | ||
37 | @@ -660,7 +660,6 @@ | |
38 | #endif | |
39 | ||
40 | /* Function used in the macros. */ | |
41 | -struct __jmp_buf_tag; | |
42 | extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROW; | |
43 | ||
44 | ||
45 | --- glibc-2.3.4/elf/dynamic-link.h.orig 2004-09-24 19:09:03.000000000 +0200 | |
46 | +++ glibc-2.3.4/elf/dynamic-link.h 2005-02-16 10:37:32.664843192 +0100 | |
47 | @@ -19,43 +19,6 @@ | |
48 | ||
49 | #include <elf.h> | |
50 | #include <assert.h> | |
51 | - | |
52 | -#ifdef RESOLVE | |
53 | -/* We pass reloc_addr as a pointer to void, as opposed to a pointer to | |
54 | - ElfW(Addr), because not all architectures can assume that the | |
55 | - relocated address is properly aligned, whereas the compiler is | |
56 | - entitled to assume that a pointer to a type is properly aligned for | |
57 | - the type. Even if we cast the pointer back to some other type with | |
58 | - less strict alignment requirements, the compiler might still | |
59 | - remember that the pointer was originally more aligned, thereby | |
60 | - optimizing away alignment tests or using word instructions for | |
61 | - copying memory, breaking the very code written to handle the | |
62 | - unaligned cases. */ | |
63 | -auto void __attribute__((always_inline)) | |
64 | -elf_machine_rel (struct link_map *map, const ElfW(Rel) *reloc, | |
65 | - const ElfW(Sym) *sym, const struct r_found_version *version, | |
66 | - void *const reloc_addr); | |
67 | -auto void __attribute__((always_inline)) | |
68 | -elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc, | |
69 | - const ElfW(Sym) *sym, const struct r_found_version *version, | |
70 | - void *const reloc_addr); | |
71 | -auto void __attribute__((always_inline)) | |
72 | -elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc, | |
73 | - void *const reloc_addr); | |
74 | -auto void __attribute__((always_inline)) | |
75 | -elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc, | |
76 | - void *const reloc_addr); | |
77 | -# if ELF_MACHINE_NO_RELA || defined ELF_MACHINE_PLT_REL | |
78 | -auto void __attribute__((always_inline)) | |
79 | -elf_machine_lazy_rel (struct link_map *map, | |
80 | - ElfW(Addr) l_addr, const ElfW(Rel) *reloc); | |
81 | -# else | |
82 | -auto void __attribute__((always_inline)) | |
83 | -elf_machine_lazy_rel (struct link_map *map, | |
84 | - ElfW(Addr) l_addr, const ElfW(Rela) *reloc); | |
85 | -# endif | |
86 | -#endif | |
87 | - | |
88 | #include <dl-machine.h> | |
89 | ||
90 | #ifndef VERSYMIDX | |
91 | --- glibc-2.3.4/iconvdata/jis0208.h.orig 2005-02-16 10:30:39.185701576 +0100 | |
92 | +++ glibc-2.3.4/iconvdata/jis0208.h 2005-02-16 10:31:18.736688912 +0100 | |
93 | @@ -24,15 +24,6 @@ | |
94 | #include <gconv.h> | |
95 | #include <stdint.h> | |
96 | ||
97 | -/* Conversion table. */ | |
98 | -extern const uint16_t __jis0208_to_ucs[]; | |
99 | - | |
100 | -extern const char __jisx0208_from_ucs4_lat1[256][2]; | |
101 | -extern const char __jisx0208_from_ucs4_greek[0xc1][2]; | |
102 | -extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[]; | |
103 | -extern const char __jisx0208_from_ucs_tab[][2]; | |
104 | - | |
105 | - | |
106 | /* Struct for table with indeces in UCS mapping table. */ | |
107 | struct jisx0208_ucs_idx | |
108 | { | |
109 | @@ -41,6 +32,13 @@ | |
110 | uint16_t idx; | |
111 | }; | |
112 | ||
113 | +/* Conversion table. */ | |
114 | +extern const uint16_t __jis0208_to_ucs[]; | |
115 | + | |
116 | +extern const char __jisx0208_from_ucs4_lat1[256][2]; | |
117 | +extern const char __jisx0208_from_ucs4_greek[0xc1][2]; | |
118 | +extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[]; | |
119 | +extern const char __jisx0208_from_ucs_tab[14210][2]; | |
120 | ||
121 | static inline uint32_t | |
122 | __attribute ((always_inline)) | |
ccc7a4c9 MM |
123 | =================================================================== |
124 | RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/powerpc/tcb-offsets.sym,v | |
125 | retrieving revision 1.7 | |
126 | retrieving revision 1.8 | |
127 | diff -u -r1.7 -r1.8 | |
128 | --- libc/linuxthreads/sysdeps/powerpc/tcb-offsets.sym 2004/01/13 21:30:17 1.7 | |
129 | +++ libc/linuxthreads/sysdeps/powerpc/tcb-offsets.sym 2005/03/05 19:27:55 1.8 | |
130 | @@ -8,7 +8,7 @@ | |
131 | -- Abuse tls.h macros to derive offsets relative to the thread register. | |
132 | # undef __thread_register | |
133 | # define __thread_register ((void *) 0) | |
134 | -# define thread_offsetof(mem) ((void *) &THREAD_SELF->p_##mem - (void *) 0) | |
135 | +# define thread_offsetof(mem) ((ptrdiff_t) THREAD_SELF + offsetof (struct _pthread_descr_struct, p_##mem)) | |
136 | ||
137 | # else | |
138 | ||
4a392508 MM |
139 | --- glibc-2.3.4/sysdeps/powerpc/powerpc32/dl-machine.h.orig 2003-07-31 06:33:52.000000000 +0000 |
140 | +++ glibc-2.3.4/sysdeps/powerpc/powerpc32/dl-machine.h 2005-03-20 16:56:21.000000000 +0000 | |
141 | @@ -353,7 +353,7 @@ | |
142 | LOADADDR is the load address of the object; INFO is an array indexed | |
143 | by DT_* of the .dynamic section info. */ | |
144 | ||
145 | -inline void | |
146 | +auto inline void __attribute__ ((always_inline)) | |
147 | elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, | |
148 | const Elf32_Sym *sym, const struct r_found_version *version, | |
149 | void *const reloc_addr_arg) | |
150 | @@ -383,7 +383,7 @@ | |
151 | { | |
152 | # if defined USE_TLS && !defined RTLD_BOOTSTRAP | |
153 | sym_map = RESOLVE_MAP (&sym, version, r_type); | |
154 | - value = sym == NULL ? 0 : sym_map->l_addr + sym->st_value; | |
155 | + value = sym_map == NULL ? 0 : sym_map->l_addr + sym->st_value; | |
156 | # else | |
157 | value = RESOLVE (&sym, version, r_type); | |
158 | # ifndef RTLD_BOOTSTRAP | |
159 | @@ -455,7 +455,7 @@ | |
160 | } | |
161 | } | |
162 | ||
163 | -static inline void | |
164 | +auto inline void __attribute__ ((always_inline)) | |
165 | elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, | |
166 | void *const reloc_addr_arg) | |
167 | { | |
168 | @@ -463,7 +463,7 @@ | |
169 | *reloc_addr = l_addr + reloc->r_addend; | |
170 | } | |
171 | ||
172 | -static inline void | |
173 | +auto inline void __attribute__ ((always_inline)) | |
174 | elf_machine_lazy_rel (struct link_map *map, | |
175 | Elf32_Addr l_addr, const Elf32_Rela *reloc) | |
176 | { | |
d92d95f5 MM |
177 | =================================================================== |
178 | RCS file: /cvs/glibc/libc/nptl/sysdeps/powerpc/tcb-offsets.sym,v | |
179 | retrieving revision 1.5 | |
180 | retrieving revision 1.6 | |
181 | diff -u -r1.5 -r1.6 | |
182 | --- libc/nptl/sysdeps/powerpc/tcb-offsets.sym 2004/12/15 06:07:00 1.5 | |
183 | +++ libc/nptl/sysdeps/powerpc/tcb-offsets.sym 2005/02/14 22:44:12 1.6 | |
184 | @@ -6,7 +6,8 @@ | |
185 | -- Abuse tls.h macros to derive offsets relative to the thread register. | |
186 | # undef __thread_register | |
187 | # define __thread_register ((void *) 0) | |
188 | -# define thread_offsetof(mem) ((void *) &THREAD_SELF->mem - (void *) 0) | |
189 | +# define thread_offsetof(mem) ((ptrdiff_t) THREAD_SELF + offsetof (struct pthread, mem)) | |
190 | + | |
191 | ||
192 | #if TLS_MULTIPLE_THREADS_IN_TCB | |
193 | MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads) |