1 --- glibc-2.3.1.old/sysdeps/arm/Dist 2002-08-27 21:06:52.000000000 +0900
2 +++ glibc-2.3.1/sysdeps/arm/Dist 2003-03-01 00:29:42.000000000 +0900
7 --- glibc-2.3.1.old/sysdeps/arm/Makefile 1970-01-01 09:00:00.000000000 +0900
8 +++ glibc-2.3.1/sysdeps/arm/Makefile 2003-03-01 00:29:42.000000000 +0900
11 +ifeq (yes,$(build-shared))
13 +sysdep_routines += libgcc-compat
14 +shared-only-routines += libgcc-compat
17 --- glibc-2.3.1.old/sysdeps/arm/Versions 1970-01-01 09:00:00.000000000 +0900
18 +++ glibc-2.3.1/sysdeps/arm/Versions 2003-03-01 18:22:10.000000000 +0900
22 + # Functions from libgcc.
23 + __ashldi3; __ashrdi3;
36 --- glibc-2.3.1.old/sysdeps/arm/libgcc-compat.c 1970-01-01 09:00:00.000000000 +0900
37 +++ glibc-2.3.1/sysdeps/arm/libgcc-compat.c 2003-03-02 19:40:20.000000000 +0900
39 +/* pre-.hidden libgcc compatibility
40 + Copyright (C) 2003 Free Software Foundation, Inc.
41 + This file is part of the GNU C Library.
42 + Contributed by GOTO Masanori <gotom@debian.org>
44 + The GNU C Library is free software; you can redistribute it and/or
45 + modify it under the terms of the GNU Lesser General Public
46 + License as published by the Free Software Foundation; either
47 + version 2.1 of the License, or (at your option) any later version.
49 + The GNU C Library is distributed in the hope that it will be useful,
50 + but WITHOUT ANY WARRANTY; without even the implied warranty of
51 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
52 + Lesser General Public License for more details.
54 + You should have received a copy of the GNU Lesser General Public
55 + License along with the GNU C Library; if not, write to the Free
56 + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
61 +#include <shlib-compat.h>
63 +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
65 +extern int64_t __ashldi3 (int64_t, int32_t);
66 +int64_t __ashldi3_internal (int64_t u, int32_t b)
68 + return __ashldi3 (u, b);
70 +symbol_version (__ashldi3_internal, __ashldi3, GLIBC_2.0);
72 +extern int64_t __ashrdi3 (int64_t, int32_t);
73 +int32_t __ashrdi3_internal (int64_t u, int32_t b)
75 + return __ashrdi3 (u, b);
77 +symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0);
79 +extern int32_t __cmpdi2 (int64_t, int64_t);
80 +int32_t __cmpdi2_internal (int64_t u, int64_t v)
82 + return __cmpdi2 (u, v);
84 +symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
86 +extern int32_t __divsi3 (int32_t, int32_t);
87 +int32_t __divsi3_internal (int32_t u, int32_t v)
89 + return __divsi3 (u, v);
91 +symbol_version (__divsi3_internal, __divsi3, GLIBC_2.0);
93 +extern int64_t __fixdfdi (double);
94 +int64_t __fixdfdi_internal (double d)
96 + return __fixdfdi (d);
98 +symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
100 +extern double __floatdidf (int64_t);
101 +double __floatdidf_internal (int64_t u)
103 + return __floatdidf (u);
105 +symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
107 +extern float __floatdisf (int64_t);
108 +float __floatdisf_internal (int64_t u)
110 + return __floatdisf (u);
112 +symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
114 +extern int32_t __modsi3 (int32_t, int32_t);
115 +int32_t __modsi3_internal (int32_t u, int32_t v)
117 + return __modsi3 (u, v);
119 +symbol_version (__modsi3_internal, __modsi3, GLIBC_2.0);
121 +extern int64_t __muldi3 (int64_t, int64_t);
122 +int64_t __muldi3_internal (int64_t u, int64_t v)
124 + return __muldi3 (u, v);
126 +symbol_version (__muldi3_internal, __muldi3, GLIBC_2.0);
128 +extern int32_t __ucmpdi2 (int64_t, int64_t);
129 +int32_t __ucmpdi2_internal (int64_t u, int64_t v)
131 + return __ucmpdi2 (u, v);
133 +symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
135 +extern int32_t __udivsi3 (int32_t, int32_t);
136 +int32_t __udivsi3_internal (int32_t u, int32_t v)
138 + return __udivsi3 (u, v);
140 +symbol_version (__udivsi3_internal, __udivsi3, GLIBC_2.0);
142 +extern int32_t __umodsi3 (int32_t, int32_t);
143 +int32_t __umodsi3_internal (int32_t u, int32_t v)
145 + return __umodsi3 (u, v);
147 +symbol_version (__umodsi3_internal, __umodsi3, GLIBC_2.0);
150 --- glibc-2.3.1.old/sysdeps/ia64/Makefile 2002-05-15 05:46:15.000000000 +0900
151 +++ glibc-2.3.1/sysdeps/ia64/Makefile 2003-03-04 00:51:34.000000000 +0900
154 ifeq (yes,$(build-shared))
156 -sysdep_routines += ia64libgcc
157 -shared-only-routines += ia64libgcc
158 +sysdep_routines += libgcc-compat
159 +shared-only-routines += libgcc-compat
163 --- glibc-2.3.1.old/sysdeps/ia64/Versions 2002-05-03 16:00:46.000000000 +0900
164 +++ glibc-2.3.1/sysdeps/ia64/Versions 2003-03-04 01:14:39.000000000 +0900
166 # Functions from libgcc.
167 __divtf3; __divdf3; __divsf3; __divdi3; __moddi3; __udivdi3; __umoddi3;
175 --- glibc-2.3.1.old/sysdeps/ia64/ia64libgcc.S 2002-05-15 05:46:15.000000000 +0900
176 +++ glibc-2.3.1/sysdeps/ia64/ia64libgcc.S 2003-03-04 00:51:34.000000000 +0900
178 -/* From the Intel IA-64 Optimization Guide, choose the minimum latency
184 -#include <shlib-compat.h>
186 -#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6)
189 - Compute a 80-bit IEEE double-extended quotient.
190 - farg0 holds the dividend. farg1 holds the divisor. */
193 - cmp.eq p7, p0 = r0, r0
194 - frcpa.s0 f10, p6 = farg0, farg1
196 -(p6) cmp.ne p7, p0 = r0, r0
197 - .pred.rel.mutex p6, p7
198 -(p6) fnma.s1 f11 = farg1, f10, f1
199 -(p6) fma.s1 f12 = farg0, f10, f0
201 -(p6) fma.s1 f13 = f11, f11, f0
202 -(p6) fma.s1 f14 = f11, f11, f11
204 -(p6) fma.s1 f11 = f13, f13, f11
205 -(p6) fma.s1 f13 = f14, f10, f10
207 -(p6) fma.s1 f10 = f13, f11, f10
208 -(p6) fnma.s1 f11 = farg1, f12, farg0
210 -(p6) fma.s1 f11 = f11, f10, f12
211 -(p6) fnma.s1 f12 = farg1, f10, f1
213 -(p6) fma.s1 f10 = f12, f10, f10
214 -(p6) fnma.s1 f12 = farg1, f11, farg0
216 -(p6) fma.s0 fret0 = f12, f10, f11
217 -(p7) mov fret0 = f10
220 - .symver ___divtf3, __divtf3@GLIBC_2.2
223 - Compute a 64-bit IEEE double quotient.
224 - farg0 holds the dividend. farg1 holds the divisor. */
227 - cmp.eq p7, p0 = r0, r0
228 - frcpa.s0 f10, p6 = farg0, farg1
230 -(p6) cmp.ne p7, p0 = r0, r0
231 - .pred.rel.mutex p6, p7
232 -(p6) fmpy.s1 f11 = farg0, f10
233 -(p6) fnma.s1 f12 = farg1, f10, f1
235 -(p6) fma.s1 f11 = f12, f11, f11
236 -(p6) fmpy.s1 f13 = f12, f12
238 -(p6) fma.s1 f10 = f12, f10, f10
239 -(p6) fma.s1 f11 = f13, f11, f11
241 -(p6) fmpy.s1 f12 = f13, f13
242 -(p6) fma.s1 f10 = f13, f10, f10
244 -(p6) fma.d.s1 f11 = f12, f11, f11
245 -(p6) fma.s1 f10 = f12, f10, f10
247 -(p6) fnma.d.s1 f8 = farg1, f11, farg0
249 -(p6) fma.d fret0 = f8, f10, f11
250 -(p7) mov fret0 = f10
254 - .symver ___divdf3, __divdf3@GLIBC_2.2
257 - Compute a 32-bit IEEE float quotient.
258 - farg0 holds the dividend. farg1 holds the divisor. */
261 - cmp.eq p7, p0 = r0, r0
262 - frcpa.s0 f10, p6 = farg0, farg1
264 -(p6) cmp.ne p7, p0 = r0, r0
265 - .pred.rel.mutex p6, p7
266 -(p6) fmpy.s1 f8 = farg0, f10
267 -(p6) fnma.s1 f9 = farg1, f10, f1
269 -(p6) fma.s1 f8 = f9, f8, f8
270 -(p6) fmpy.s1 f9 = f9, f9
272 -(p6) fma.s1 f8 = f9, f8, f8
273 -(p6) fmpy.s1 f9 = f9, f9
275 -(p6) fma.d.s1 f10 = f9, f8, f8
277 -(p6) fnorm.s.s0 fret0 = f10
278 -(p7) mov fret0 = f10
282 - .symver ___divsf3, __divsf3@GLIBC_2.2
285 - Compute a 64-bit integer quotient.
286 - in0 holds the dividend. in1 holds the divisor. */
290 - /* Transfer inputs to FP registers. */
294 - /* Convert the inputs to FP, so that they won't be treated as
299 - /* Compute the reciprocal approximation. */
300 - frcpa.s1 f10, p6 = f8, f9
302 - /* 3 Newton-Raphson iterations. */
303 -(p6) fnma.s1 f11 = f9, f10, f1
304 -(p6) fmpy.s1 f12 = f8, f10
306 -(p6) fmpy.s1 f13 = f11, f11
307 -(p6) fma.s1 f12 = f11, f12, f12
309 -(p6) fma.s1 f10 = f11, f10, f10
310 -(p6) fma.s1 f11 = f13, f12, f12
312 -(p6) fma.s1 f10 = f13, f10, f10
313 -(p6) fnma.s1 f12 = f9, f11, f8
315 -(p6) fma.s1 f10 = f12, f10, f11
317 - /* Round quotient to an integer. */
318 - fcvt.fx.trunc.s1 f10 = f10
320 - /* Transfer result to GP registers. */
321 - getf.sig ret0 = f10
325 - .symver ___divdi3, __divdi3@GLIBC_2.2
328 - Compute a 64-bit integer modulus.
329 - in0 holds the dividend (a). in1 holds the divisor (b). */
333 - /* Transfer inputs to FP registers. */
337 - /* Convert the inputs to FP, so that they won't be treated as
342 - /* Compute the reciprocal approximation. */
343 - frcpa.s1 f10, p6 = f8, f9
345 - /* 3 Newton-Raphson iterations. */
346 -(p6) fmpy.s1 f12 = f8, f10
347 -(p6) fnma.s1 f11 = f9, f10, f1
349 -(p6) fma.s1 f12 = f11, f12, f12
350 -(p6) fmpy.s1 f13 = f11, f11
352 -(p6) fma.s1 f10 = f11, f10, f10
353 -(p6) fma.s1 f11 = f13, f12, f12
356 -(p6) fma.s1 f10 = f13, f10, f10
357 -(p6) fnma.s1 f12 = f9, f11, f8
360 -(p6) fma.s1 f10 = f12, f10, f11
362 - fcvt.fx.trunc.s1 f10 = f10
364 - /* r = q * (-b) + a */
365 - xma.l f10 = f10, f9, f14
367 - /* Transfer result to GP registers. */
368 - getf.sig ret0 = f10
372 - .symver ___moddi3, __moddi3@GLIBC_2.2
375 - Compute a 64-bit unsigned integer quotient.
376 - in0 holds the dividend. in1 holds the divisor. */
380 - /* Transfer inputs to FP registers. */
384 - /* Convert the inputs to FP, to avoid FP software-assist faults. */
385 - fcvt.xuf.s1 f8 = f8
386 - fcvt.xuf.s1 f9 = f9
388 - /* Compute the reciprocal approximation. */
389 - frcpa.s1 f10, p6 = f8, f9
391 - /* 3 Newton-Raphson iterations. */
392 -(p6) fnma.s1 f11 = f9, f10, f1
393 -(p6) fmpy.s1 f12 = f8, f10
395 -(p6) fmpy.s1 f13 = f11, f11
396 -(p6) fma.s1 f12 = f11, f12, f12
398 -(p6) fma.s1 f10 = f11, f10, f10
399 -(p6) fma.s1 f11 = f13, f12, f12
401 -(p6) fma.s1 f10 = f13, f10, f10
402 -(p6) fnma.s1 f12 = f9, f11, f8
404 -(p6) fma.s1 f10 = f12, f10, f11
406 - /* Round quotient to an unsigned integer. */
407 - fcvt.fxu.trunc.s1 f10 = f10
409 - /* Transfer result to GP registers. */
410 - getf.sig ret0 = f10
414 - .symver ___udivdi3, __udivdi3@GLIBC_2.2
417 - Compute a 64-bit unsigned integer modulus.
418 - in0 holds the dividend (a). in1 holds the divisor (b). */
422 - /* Transfer inputs to FP registers. */
426 - /* Convert the inputs to FP, to avoid FP software assist faults. */
427 - fcvt.xuf.s1 f8 = f14
428 - fcvt.xuf.s1 f9 = f9
430 - /* Compute the reciprocal approximation. */
431 - frcpa.s1 f10, p6 = f8, f9
433 - /* 3 Newton-Raphson iterations. */
434 -(p6) fmpy.s1 f12 = f8, f10
435 -(p6) fnma.s1 f11 = f9, f10, f1
437 -(p6) fma.s1 f12 = f11, f12, f12
438 -(p6) fmpy.s1 f13 = f11, f11
440 -(p6) fma.s1 f10 = f11, f10, f10
441 -(p6) fma.s1 f11 = f13, f12, f12
444 -(p6) fma.s1 f10 = f13, f10, f10
445 -(p6) fnma.s1 f12 = f9, f11, f8
448 -(p6) fma.s1 f10 = f12, f10, f11
450 - /* Round quotient to an unsigned integer. */
451 - fcvt.fxu.trunc.s1 f10 = f10
453 - /* r = q * (-b) + a */
454 - xma.l f10 = f10, f9, f14
456 - /* Transfer result to GP registers. */
457 - getf.sig ret0 = f10
461 - .symver ___umoddi3, __umoddi3@GLIBC_2.2
464 - Compute a 128-bit multiply of 128-bit multiplicands.
465 - in0/in1 holds one multiplicand (a), in2/in3 holds the other one (b). */
470 - movl r19 = 0xffffffff
480 - shr.u r14 = in0, 32
483 - shr.u r14 = in2, 32
486 - xmpy.l f11 = f10, f6
492 - shr.u r14 = r16, 32
501 - xma.l f11 = f10, f8, f11
502 - xma.l f6 = f6, f7, f9
509 - cmp.ltu p7, p6 = r18, r17
512 -(p7) adds r14 = 1, r19
514 -(p7) add r21 = r21, r14
515 - shr.u r14 = r18, 32
520 - add ret0 = r15, r16
521 - add ret1 = r22, r20
525 - .symver ___multi3, __multi3@GLIBC_2.2
528 --- glibc-2.3.1.old/sysdeps/ia64/libgcc-compat.c 1970-01-01 09:00:00.000000000 +0900
529 +++ glibc-2.3.1/sysdeps/ia64/libgcc-compat.c 2003-03-04 02:24:15.000000000 +0900
531 +/* pre-.hidden libgcc compatibility
532 + Copyright (C) 2002 Free Software Foundation, Inc.
533 + This file is part of the GNU C Library.
535 + The GNU C Library is free software; you can redistribute it and/or
536 + modify it under the terms of the GNU Lesser General Public
537 + License as published by the Free Software Foundation; either
538 + version 2.1 of the License, or (at your option) any later version.
540 + The GNU C Library is distributed in the hope that it will be useful,
541 + but WITHOUT ANY WARRANTY; without even the implied warranty of
542 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
543 + Lesser General Public License for more details.
545 + You should have received a copy of the GNU Lesser General Public
546 + License along with the GNU C Library; if not, write to the Free
547 + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
552 +#include <shlib-compat.h>
554 +#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6)
556 +typedef int int128_t __attribute__((__mode__(TI)));
558 +extern long double __divtf3 (long double, long double) attribute_hidden;
559 +long double INTUSE (__divtf3) (long double x, long double y)
561 + return __divtf3 (x, y);
563 +symbol_version (INTUSE (__divtf3), __divtf3, GLIBC_2.2);
565 +extern double __divdf3 (double, double) attribute_hidden;
566 +double INTUSE (__divdf3) (double x, double y)
568 + return __divdf3 (x, y);
570 +symbol_version (INTUSE (__divdf3), __divdf3, GLIBC_2.2);
572 +extern float __divsf3 (float, float) attribute_hidden;
573 +float INTUSE (__divsf3) (float x, float y)
575 + return __divsf3 (x, y);
577 +symbol_version (INTUSE (__divsf3), __divsf3, GLIBC_2.2);
579 +extern int64_t __divdi3 (int64_t, int64_t) attribute_hidden;
580 +int64_t INTUSE (__divdi3) (int64_t x, int64_t y)
582 + return __divdi3 (x, y);
584 +symbol_version (INTUSE (__divdi3), __divdi3, GLIBC_2.2);
586 +extern int64_t __moddi3 (int64_t, int64_t) attribute_hidden;
587 +int64_t INTUSE (__moddi3) (int64_t x, int64_t y)
589 + return __moddi3 (x, y);
591 +symbol_version (INTUSE (__moddi3), __moddi3, GLIBC_2.2);
593 +extern uint64_t __udivdi3 (uint64_t, uint64_t) attribute_hidden;
594 +uint64_t INTUSE (__udivdi3) (uint64_t x, uint64_t y)
596 + return __udivdi3 (x, y);
598 +symbol_version (INTUSE (__udivdi3), __udivdi3, GLIBC_2.2);
600 +extern uint64_t __umoddi3 (uint64_t, uint64_t) attribute_hidden;
601 +uint64_t INTUSE (__umoddi3) (uint64_t x, uint64_t y)
603 + return __umoddi3 (x, y);
605 +symbol_version (INTUSE (__umoddi3), __umoddi3, GLIBC_2.2);
607 +extern int128_t __multi3 (int128_t, int128_t) attribute_hidden;
608 +int128_t INTUSE (__multi3) (int128_t x, int128_t y)
610 + return __multi3 (x, y);
612 +symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2);
614 +extern int64_t __divsi3 (int64_t, int64_t) attribute_hidden;
615 +int64_t INTUSE (__divsi3) (int64_t x, int64_t y)
617 + return __divsi3 (x, y);
619 +symbol_version (INTUSE (__divsi3), __divsi3, GLIBC_2.2);
621 +extern int64_t __modsi3 (int64_t, int64_t) attribute_hidden;
622 +int64_t INTUSE (__modsi3) (int64_t x, int64_t y)
624 + return __modsi3 (x, y);
626 +symbol_version (INTUSE (__modsi3), __modsi3, GLIBC_2.2);
628 +extern uint64_t __udivsi3 (uint64_t, uint64_t) attribute_hidden;
629 +uint64_t INTUSE (__udivsi3) (uint64_t x, uint64_t y)
631 + return __udivsi3 (x, y);
633 +symbol_version (INTUSE (__udivsi3), __udivsi3, GLIBC_2.2);
635 +extern uint64_t __umodsi3 (uint64_t, uint64_t) attribute_hidden;
636 +uint64_t INTUSE (__umodsi3) (uint64_t x, uint64_t y)
638 + return __umodsi3 (x, y);
640 +symbol_version (INTUSE (__umodsi3), __umodsi3, GLIBC_2.2);
643 --- glibc-2.3.1.old/sysdeps/m68k/Deps 1970-01-01 09:00:00.000000000 +0900
644 +++ glibc-2.3.1/sysdeps/m68k/Deps 2003-03-01 00:29:42.000000000 +0900
647 --- glibc-2.3.1.old/sysdeps/m68k/Makefile 2003-02-27 19:29:49.000000000 +0900
648 +++ glibc-2.3.1/sysdeps/m68k/Makefile 2003-03-01 00:29:42.000000000 +0900
650 # Build objects in libc_nonshared.a with -fPIC (instead of -fpic) to avoid
651 # possible linkage problems.
654 +ifeq ($(subdir),csu)
655 +ifeq (yes,$(build-shared))
657 +sysdep_routines += libgcc-compat
658 +shared-only-routines += libgcc-compat
661 --- glibc-2.3.1.old/sysdeps/m68k/Versions 2000-06-15 15:54:28.000000000 +0900
662 +++ glibc-2.3.1/sysdeps/m68k/Versions 2003-03-02 01:12:58.000000000 +0900
665 # Functions from libgcc.
666 __divdi3; __moddi3; __udivdi3; __umoddi3;
677 --- glibc-2.3.1.old/sysdeps/m68k/libgcc-compat.c 1970-01-01 09:00:00.000000000 +0900
678 +++ glibc-2.3.1/sysdeps/m68k/libgcc-compat.c 2003-03-02 13:26:49.000000000 +0900
680 +/* pre-.hidden libgcc compatibility
681 + Copyright (C) 2003 Free Software Foundation, Inc.
682 + This file is part of the GNU C Library.
683 + Contributed by GOTO Masanori <gotom@debian.org>
685 + The GNU C Library is free software; you can redistribute it and/or
686 + modify it under the terms of the GNU Lesser General Public
687 + License as published by the Free Software Foundation; either
688 + version 2.1 of the License, or (at your option) any later version.
690 + The GNU C Library is distributed in the hope that it will be useful,
691 + but WITHOUT ANY WARRANTY; without even the implied warranty of
692 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
693 + Lesser General Public License for more details.
695 + You should have received a copy of the GNU Lesser General Public
696 + License along with the GNU C Library; if not, write to the Free
697 + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
702 +#include <shlib-compat.h>
704 +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
706 +extern int64_t __ashldi3 (int64_t, int32_t);
707 +int64_t __ashldi3_internal (int64_t u, int32_t b)
709 + return __ashldi3 (u, b);
711 +symbol_version (__ashldi3_internal, __ashldi3, GLIBC_2.0);
713 +extern int64_t __ashrdi3 (int64_t, int32_t);
714 +int64_t __ashrdi3_internal (int64_t u, int32_t b)
716 + return __ashrdi3 (u, b);
718 +symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0);
720 +extern int64_t __fixdfdi (double);
721 +int64_t __fixdfdi_internal (double d)
723 + return __fixdfdi (d);
725 +symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
727 +extern int64_t __fixsfdi (float);
728 +int64_t __fixsfdi_internal (float d)
730 + return __fixsfdi (d);
732 +symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0);
734 +extern int64_t __fixunsdfdi (double);
735 +int64_t __fixunsdfdi_internal (double d)
737 + return __fixunsdfdi (d);
739 +symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0);
741 +extern int64_t __fixunssfdi (float);
742 +int64_t __fixunssfdi_internal (float d)
744 + return __fixunssfdi (d);
746 +symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0);
748 +extern double __floatdidf (int64_t);
749 +double __floatdidf_internal (int64_t u)
751 + return __floatdidf (u);
753 +symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
755 +extern float __floatdisf (int64_t);
756 +float __floatdisf_internal (int64_t u)
758 + return __floatdisf (u);
760 +symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
763 --- glibc-2.3.1.old/sysdeps/s390/s390-32/Dist 2001-03-27 14:14:38.000000000 +0900
764 +++ glibc-2.3.1/sysdeps/s390/s390-32/Dist 2003-03-02 11:09:37.000000000 +0900
768 --- glibc-2.3.1.old/sysdeps/s390/s390-32/Makefile 2002-09-19 15:42:09.000000000 +0900
769 +++ glibc-2.3.1/sysdeps/s390/s390-32/Makefile 2003-03-02 11:09:11.000000000 +0900
771 CFLAGS-dl-load.c += -Wno-unused
772 CFLAGS-dl-reloc.c += -Wno-unused
775 +ifeq ($(subdir),csu)
776 +ifeq (yes,$(build-shared))
778 +sysdep_routines += libgcc-compat
779 +shared-only-routines += libgcc-compat
782 --- glibc-2.3.1.old/sysdeps/s390/s390-32/Versions 2001-03-16 17:15:07.000000000 +0900
783 +++ glibc-2.3.1/sysdeps/s390/s390-32/Versions 2003-03-02 11:08:03.000000000 +0900
786 # Functions from libgcc.
787 __divdi3; __moddi3; __udivdi3; __umoddi3;
798 --- glibc-2.3.1.old/sysdeps/s390/s390-32/libgcc-compat.c 1970-01-01 09:00:00.000000000 +0900
799 +++ glibc-2.3.1/sysdeps/s390/s390-32/libgcc-compat.c 2003-03-02 19:42:19.000000000 +0900
801 +/* pre-.hidden libgcc compatibility
802 + Copyright (C) 2003 Free Software Foundation, Inc.
803 + This file is part of the GNU C Library.
804 + Contributed by GOTO Masanori <gotom@debian.org>
806 + The GNU C Library is free software; you can redistribute it and/or
807 + modify it under the terms of the GNU Lesser General Public
808 + License as published by the Free Software Foundation; either
809 + version 2.1 of the License, or (at your option) any later version.
811 + The GNU C Library is distributed in the hope that it will be useful,
812 + but WITHOUT ANY WARRANTY; without even the implied warranty of
813 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
814 + Lesser General Public License for more details.
816 + You should have received a copy of the GNU Lesser General Public
817 + License along with the GNU C Library; if not, write to the Free
818 + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
823 +#include <shlib-compat.h>
825 +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
827 +extern int32_t __cmpdi2 (int64_t, int64_t);
828 +int32_t __cmpdi2_internal (int64_t u, int64_t v)
830 + return __cmpdi2 (u, v);
832 +symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
834 +extern int64_t __fixdfdi (double);
835 +int64_t __fixdfdi_internal (double d)
837 + return __fixdfdi (d);
839 +symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
841 +extern int64_t __fixsfdi (float);
842 +int64_t __fixsfdi_internal (float d)
844 + return __fixsfdi (d);
846 +symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0);
848 +extern int64_t __fixunsdfdi (double);
849 +int64_t __fixunsdfdi_internal (double d)
851 + return __fixunsdfdi (d);
853 +symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0);
855 +extern int64_t __fixunssfdi (float);
856 +int64_t __fixunssfdi_internal (float d)
858 + return __fixunssfdi (d);
860 +symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0);
862 +extern double __floatdidf (int64_t);
863 +double __floatdidf_internal (int64_t u)
865 + return __floatdidf (u);
867 +symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
869 +extern float __floatdisf (int64_t);
870 +float __floatdisf_internal (int64_t u)
872 + return __floatdisf (u);
874 +symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
876 +extern int32_t __ucmpdi2 (int64_t, int64_t);
877 +int32_t __ucmpdi2_internal (int64_t u, int64_t v)
879 + return __ucmpdi2 (u, v);
881 +symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);