]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/glibc/glibc-2.3.2/libgcc-compat-all.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / glibc / glibc-2.3.2 / libgcc-compat-all.patch
1 --- sysdeps/mips/Makefile.orig  Sun Oct 13 14:45:56 2002
2 +++ sysdeps/mips/Makefile       Sun Oct 13 14:51:20 2002
3 @@ -6,3 +6,11 @@
4  ifeq ($(subdir),setjmp)
5  sysdep_routines += setjmp_aux
6  endif
7 +
8 +ifeq ($(subdir),csu)
9 +ifeq (yes,$(build-shared))
10 +# Compatibility
11 +sysdep_routines += libgcc-compat
12 +shared-only-routines += libgcc-compat
13 +endif
14 +endif
15 --- sysdeps/mips/Dist.orig      Sun Oct 13 15:07:31 2002
16 +++ sysdeps/mips/Dist   Sun Oct 13 15:07:41 2002
17 @@ -1,3 +1,4 @@
18 +libgcc-compat.c
19  setjmp_aux.c
20  regdef.h
21  sgidefs.h
22 --- /dev/null   Sat Mar 16 18:32:44 2002
23 +++ sysdeps/mips/libgcc-compat.c        Sun Oct 20 17:11:59 2002
24 @@ -0,0 +1,66 @@
25 +/* pre-.hidden libgcc compatibility
26 +   Copyright (C) 2002 Free Software Foundation, Inc.
27 +   This file is part of the GNU C Library.
28 +   Contributed by Guido Guenther <agx@sigxcpu.org>
29 +
30 +   The GNU C Library is free software; you can redistribute it and/or
31 +   modify it under the terms of the GNU Lesser General Public
32 +   License as published by the Free Software Foundation; either
33 +   version 2.1 of the License, or (at your option) any later version.
34 +
35 +   The GNU C Library is distributed in the hope that it will be useful,
36 +   but WITHOUT ANY WARRANTY; without even the implied warranty of
37 +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
38 +   Lesser General Public License for more details.
39 +
40 +   You should have received a copy of the GNU Lesser General Public
41 +   License along with the GNU C Library; if not, write to the Free
42 +   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
43 +   02111-1307 USA.  */
44 +
45 +
46 +#include <stdint.h>
47 +#include <shlib-compat.h>
48 +
49 +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
50 +
51 +extern int32_t __cmpdi2 (int64_t, int64_t);
52 +int32_t __cmpdi2_internal (int64_t u, int64_t v)
53 +{
54 +  return __cmpdi2 (u, v);
55 +}
56 +symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
57 +
58 +
59 +extern int32_t __ucmpdi2 (int64_t, int64_t);
60 +int32_t __ucmpdi2_internal (int64_t u, int64_t v)
61 +{
62 +  return __ucmpdi2 (u, v);
63 +}
64 +symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
65 +
66 +
67 +extern int64_t __fixdfdi (double);
68 +int64_t __fixdfdi_internal (double d)
69 +{
70 +  return __fixdfdi (d);
71 +}
72 +symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
73 +
74 +
75 +extern double __floatdidf (int64_t);
76 +double __floatdidf_internal (int64_t u)
77 +{
78 +         return __floatdidf (u);
79 +}
80 +symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
81 +
82 +
83 +extern float floatdisf (int64_t);
84 +float __floatdisf_internal (int64_t u)
85 +{
86 +  return __floatdisf (u);
87 +}
88 +symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
89 +
90 +#endif
91 --- /dev/null   Sat Mar 16 18:32:44 2002
92 +++ sysdeps/mips/Versions       Sun Oct 20 17:12:00 2002
93 @@ -0,0 +1,8 @@
94 +libc {
95 +  GLIBC_2.0 {
96 +    # Functions from libgcc.
97 +    __cmpdi2; __ucmpdi2;
98 +    __divdi3; __moddi3; __udivdi3; __umoddi3;
99 +    __fixdfdi; __floatdidf; __floatdisf;
100 +  }
101 +}
102 --- /dev/null   Sat Mar 16 18:32:44 2002
103 +++ sysdeps/i386/libgcc-compat.c        Sun Feb 16 01:43:47 2003
104 @@ -0,0 +1,75 @@
105 +/* pre-.hidden libgcc compatibility
106 +   Copyright (C) 2002 Free Software Foundation, Inc.
107 +   This file is part of the GNU C Library.
108 +   Contributed by Guido Guenther <agx@sigxcpu.org>
109 +
110 +   The GNU C Library is free software; you can redistribute it and/or
111 +   modify it under the terms of the GNU Lesser General Public
112 +   License as published by the Free Software Foundation; either
113 +   version 2.1 of the License, or (at your option) any later version.
114 +
115 +   The GNU C Library is distributed in the hope that it will be useful,
116 +   but WITHOUT ANY WARRANTY; without even the implied warranty of
117 +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
118 +   Lesser General Public License for more details.
119 +
120 +   You should have received a copy of the GNU Lesser General Public
121 +   License along with the GNU C Library; if not, write to the Free
122 +   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
123 +   02111-1307 USA.  */
124 +
125 +
126 +#include <stdint.h>
127 +#include <shlib-compat.h>
128 +
129 +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
130 +
131 +extern int32_t __cmpdi2 (int64_t, int64_t);
132 +int32_t __cmpdi2_internal (int64_t u, int64_t v)
133 +{
134 +  return __cmpdi2 (u, v);
135 +}
136 +symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
137 +
138 +
139 +extern int32_t __ucmpdi2 (int64_t, int64_t);
140 +int32_t __ucmpdi2_internal (int64_t u, int64_t v)
141 +{
142 +  return __ucmpdi2 (u, v);
143 +}
144 +symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
145 +
146 +
147 +extern int64_t __fixunsdfdi (double);
148 +int64_t __fixunsdfdi_internal (double d)
149 +{
150 +         return __fixunsdfdi (d);
151 +}
152 +symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0);
153 +
154 +extern int64_t __fixunssfdi (float);
155 +int64_t __fixunssfdi_internal (float d)
156 +{
157 +  return __fixunssfdi (d);
158 +}
159 +
160 +symbol_version (__fixunsfdi_internal, __fixunsfdi, GLIBC_2.0);
161 +
162 +typedef float XFtype __attribute__ ((mode (XF)));
163 +
164 +extern int64_t __fixunsxfdi (XFtype);
165 +int64_t __fixunsxfdi_internal (XFtype d)
166 +{
167 +  return __fixunsxfdi (d);
168 +}
169 +
170 +symbol_version (__fixunsxfdi_internal, __fixunsxfdi, GLIBC_2.0);
171 +
172 +extern double __floatdidf (int64_t);
173 +double __floatdidf_internal (int64_t u)
174 +{
175 +         return __floatdidf (u);
176 +}
177 +symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
178 +
179 +#endif
180 --- sysdeps/i386/Makefile       19 Sep 2002 06:46:06 -0000      1.14
181 +++ sysdeps/i386/Makefile       16 Feb 2003 11:33:41 -0000
182 @@ -20,3 +20,11 @@
183  CFLAGS-dl-load.c += -Wno-unused
184  CFLAGS-dl-reloc.c += -Wno-unused
185  endif
186 +
187 +ifeq ($(subdir),csu)
188 +ifeq (yes,$(build-shared))
189 +# Compatibility
190 +sysdep_routines += libgcc-compat
191 +shared-only-routines += libgcc-compat
192 +endif
193 +endif
194 --- sysdeps/i386/Dist   28 Aug 2002 08:24:48 -0000      1.4
195 +++ sysdeps/i386/Dist   16 Feb 2003 11:33:47 -0000
196 @@ -2,3 +2,4 @@
197  machine-gmon.h
198  bp-asm.h
199  bits/link.h
200 +libgcc-compat.c
201 --- sysdeps/i386/Versions       17 May 1999 17:23:56 -0000      1.3
202 +++ sysdeps/i386/Versions       16 Feb 2003 11:34:17 -0000
203 @@ -2,6 +2,9 @@
204    GLIBC_2.0 {
205      # Functions from libgcc.
206      __divdi3; __moddi3; __udivdi3; __umoddi3;
207 +    __cmpdi2; __ucmpdi2; 
208 +    __fixunsdfdi; __fixunssfdi; __fixunsxfdi;
209 +    __floatdidf;
210    }
211    GLIBC_2.1 {
212      # global variable
213 --- /dev/null   Sat Mar 16 18:32:44 2002
214 +++ sysdeps/sparc/sparc32/libgcc-compat.c       Fri Feb  7 00:29:23 2003
215 @@ -0,0 +1,121 @@
216 +/* pre-.hidden libgcc compatibility
217 +   Copyright (C) 2002 Free Software Foundation, Inc.
218 +   This file is part of the GNU C Library.
219 +   Contributed by Guido Guenther <agx@sigxcpu.org>
220 +
221 +   The GNU C Library is free software; you can redistribute it and/or
222 +   modify it under the terms of the GNU Lesser General Public
223 +   License as published by the Free Software Foundation; either
224 +   version 2.1 of the License, or (at your option) any later version.
225 +
226 +   The GNU C Library is distributed in the hope that it will be useful,
227 +   but WITHOUT ANY WARRANTY; without even the implied warranty of
228 +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
229 +   Lesser General Public License for more details.
230 +
231 +   You should have received a copy of the GNU Lesser General Public
232 +   License along with the GNU C Library; if not, write to the Free
233 +   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
234 +   02111-1307 USA.  */
235 +
236 +
237 +#include <stdint.h>
238 +#include <shlib-compat.h>
239 +
240 +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
241 +
242 +extern int64_t __ashldi3 (int64_t, int32_t);
243 +int64_t __ashldi3_internal (int64_t u, int32_t b)
244 +{
245 +  return __ashldi3 (u, b);
246 +}
247 +symbol_version (__ashldi3_internal, __ashldi3, GLIBC_2.0);
248 +
249 +
250 +extern int64_t __ashrdi3 (int64_t, int32_t);
251 +int64_t __ashrdi3_internal (int64_t u, int32_t b)
252 +{
253 +  return __ashrdi3 (u, b);
254 +}
255 +symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0);
256 +
257 +
258 +extern int64_t __lshrdi3 (int64_t, int32_t);
259 +int64_t __lshrdi3_internal (int64_t u, int32_t b)
260 +{
261 +  return __lshrdi3 (u, b);
262 +}
263 +symbol_version (__lshrdi3_internal, __lshrdi3, GLIBC_2.0);
264 +
265 +extern int32_t __cmpdi2 (int64_t, int64_t);
266 +int32_t __cmpdi2_internal (int64_t u, int64_t v)
267 +{
268 +  return __cmpdi2 (u, v);
269 +}
270 +symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
271 +
272 +
273 +extern int32_t __ucmpdi2 (int64_t, int64_t);
274 +int32_t __ucmpdi2_internal (int64_t u, int64_t v)
275 +{
276 +  return __ucmpdi2 (u, v);
277 +}
278 +symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
279 +
280 +
281 +extern int64_t __fixdfdi (double);
282 +int64_t __fixdfdi_internal (double d)
283 +{
284 +  return __fixdfdi (d);
285 +}
286 +symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
287 +
288 +
289 +extern int64_t __fixsfdi (float);
290 +int64_t __fixsfdi_internal (float d)
291 +{
292 +  return __fixsfdi (d);
293 +}
294 +symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0);
295 +
296 +
297 +extern int64_t __fixunsdfdi (double);
298 +int64_t __fixunsdfdi_internal (double d)
299 +{
300 +         return __fixunsdfdi (d);
301 +}
302 +symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0);
303 +
304 +extern int64_t __fixunssfdi (float);
305 +int64_t __fixunssfdi_internal (float d)
306 +{
307 +  return __fixunssfdi (d);
308 +}
309 +
310 +symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0);
311 +
312 +
313 +extern double __floatdidf (int64_t);
314 +double __floatdidf_internal (int64_t u)
315 +{
316 +         return __floatdidf (u);
317 +}
318 +symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
319 +
320 +
321 +extern float floatdisf (int64_t);
322 +float __floatdisf_internal (int64_t u)
323 +{
324 +  return __floatdisf (u);
325 +}
326 +symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
327 +
328 +
329 +extern int64_t __muldi3 (int64_t, int64_t);
330 +int64_t __muldi3_internal (int64_t u, int64_t v)
331 +{
332 +  return __muldi3 (u, v);
333 +}
334 +symbol_version (__muldi3_internal, __muldi3, GLIBC_2.0);
335 +
336 +#endif
337 --- sysdeps/sparc/sparc32/Makefile      6 Jul 2001 04:56:04 -0000       1.5
338 +++ sysdeps/sparc/sparc32/Makefile      6 Feb 2003 23:32:15 -0000
339 @@ -20,6 +20,14 @@
340  sysdep_routines = dotmul umul $(divrem) alloca
341  endif  # gnulib
342  
343 +ifeq ($(subdir),csu)
344 +ifeq (yes,$(build-shared))
345 +# Compatibility
346 +sysdep_routines += libgcc-compat
347 +shared-only-routines += libgcc-compat
348 +endif
349 +endif
350 +
351  # We distribute these files, even though they are generated,
352  # so as to avoid the need for a functioning m4 to build the library.
353  divrem := sdiv udiv rem urem
354 --- sysdeps/sparc/sparc32/Dist  9 Oct 2000 00:39:58 -0000       1.4
355 +++ sysdeps/sparc/sparc32/Dist  6 Feb 2003 23:51:09 -0000
356 @@ -7,3 +7,4 @@
357  urem.S
358  alloca.S
359  ieee754.h
360 +libgcc-compat.c
361 --- sysdeps/sparc/sparc32/Versions.orig 2003-02-07 07:46:20.000000000 -0500
362 +++ sysdeps/sparc/sparc32/Versions      2003-02-07 07:46:58.000000000 -0500
363 @@ -1,5 +1,9 @@
364  libc {
365    GLIBC_2.0 {
366      .div; .mul; .rem; .udiv; .umul; .urem;
367 +    __divdi3; __moddi3; __udivdi3; __umoddi3; __muldi3;
368 +    __ashldi3; __ashrdi3; __lshrdi3; __cmpdi2; __ucmpdi2;
369 +    __fixdfdi; __fixsfdi; __fixunsdfdi; __fixunssfdi; 
370 +    __floatdidf; __floatdisf;
371    }
372  }
373 --- /dev/null   Sat Mar 16 18:32:44 2002
374 +++ sysdeps/alpha/libgcc-compat.c       Sat Mar  1 21:19:36 2003
375 @@ -0,0 +1,35 @@
376 +/* pre-.hidden libgcc compatibility
377 +   Copyright (C) 2002 Free Software Foundation, Inc.
378 +   This file is part of the GNU C Library.
379 +   Contributed by Guido Guenther <agx@sigxcpu.org>
380 +
381 +   The GNU C Library is free software; you can redistribute it and/or
382 +   modify it under the terms of the GNU Lesser General Public
383 +   License as published by the Free Software Foundation; either
384 +   version 2.1 of the License, or (at your option) any later version.
385 +
386 +   The GNU C Library is distributed in the hope that it will be useful,
387 +   but WITHOUT ANY WARRANTY; without even the implied warranty of
388 +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
389 +   Lesser General Public License for more details.
390 +
391 +   You should have received a copy of the GNU Lesser General Public
392 +   License along with the GNU C Library; if not, write to the Free
393 +   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
394 +   02111-1307 USA.  */
395 +
396 +#include <stdint.h>
397 +#include <shlib-compat.h>
398 +
399 +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
400 +
401 +typedef int int128_t __attribute__((__mode__(TI)));
402 +
403 +extern int128_t __multi3 (int128_t, int128_t);
404 +int128_t INTUSE (__multi3) (int128_t x, int128_t y)
405 +{
406 +  return __multi3 (x, y);
407 +}
408 +symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.0);
409 +
410 +#endif
411 --- sysdeps/alpha/Versions      20 Jan 1999 09:23:32 -0000      1.2
412 +++ sysdeps/alpha/Versions      1 Mar 2003 21:11:25 -0000
413 @@ -3,6 +3,8 @@
414      # functions with special/multiple interfaces
415      __divqu; __remqu; __divqs; __remqs; __divlu; __remlu; __divls;
416      __remls; __divl; __reml; __divq; __remq; __divqu; __remqu;
417 +    # libgcc-compat
418 +    __multi3;
419    }
420  }
421  libm {
422 --- sysdeps/alpha/Makefile      29 Jan 2002 03:53:32 -0000      1.18
423 +++ sysdeps/alpha/Makefile      2 Mar 2003 12:20:58 -0000
424 @@ -47,3 +47,11 @@
425  # libc.so requires about 16k for the small data area, which is well
426  # below the 64k maximum.
427  pic-ccflag = -fpic
428 +
429 +ifeq ($(subdir),csu)
430 +ifeq (yes,$(build-shared))
431 +# Compatibility
432 +sysdep_routines += libgcc-compat
433 +shared-only-routines += libgcc-compat
434 +endif
435 +endif