1 --- sysdeps/mips/Makefile.orig Sun Oct 13 14:45:56 2002
2 +++ sysdeps/mips/Makefile Sun Oct 13 14:51:20 2002
4 ifeq ($(subdir),setjmp)
5 sysdep_routines += setjmp_aux
9 +ifeq (yes,$(build-shared))
11 +sysdep_routines += libgcc-compat
12 +shared-only-routines += libgcc-compat
15 --- sysdeps/mips/Dist.orig Sun Oct 13 15:07:31 2002
16 +++ sysdeps/mips/Dist Sun Oct 13 15:07:41 2002
22 --- /dev/null Sat Mar 16 18:32:44 2002
23 +++ sysdeps/mips/libgcc-compat.c Sun Oct 20 17:11:59 2002
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>
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.
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.
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
47 +#include <shlib-compat.h>
49 +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
51 +extern int32_t __cmpdi2 (int64_t, int64_t);
52 +int32_t __cmpdi2_internal (int64_t u, int64_t v)
54 + return __cmpdi2 (u, v);
56 +symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
59 +extern int32_t __ucmpdi2 (int64_t, int64_t);
60 +int32_t __ucmpdi2_internal (int64_t u, int64_t v)
62 + return __ucmpdi2 (u, v);
64 +symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
67 +extern int64_t __fixdfdi (double);
68 +int64_t __fixdfdi_internal (double d)
70 + return __fixdfdi (d);
72 +symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
75 +extern double __floatdidf (int64_t);
76 +double __floatdidf_internal (int64_t u)
78 + return __floatdidf (u);
80 +symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
83 +extern float floatdisf (int64_t);
84 +float __floatdisf_internal (int64_t u)
86 + return __floatdisf (u);
88 +symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
91 --- /dev/null Sat Mar 16 18:32:44 2002
92 +++ sysdeps/mips/Versions Sun Oct 20 17:12:00 2002
96 + # Functions from libgcc.
97 + __cmpdi2; __ucmpdi2;
98 + __divdi3; __moddi3; __udivdi3; __umoddi3;
99 + __fixdfdi; __floatdidf; __floatdisf;
102 --- /dev/null Sat Mar 16 18:32:44 2002
103 +++ sysdeps/i386/libgcc-compat.c Sun Feb 16 01:43:47 2003
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>
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.
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.
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
127 +#include <shlib-compat.h>
129 +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
131 +extern int32_t __cmpdi2 (int64_t, int64_t);
132 +int32_t __cmpdi2_internal (int64_t u, int64_t v)
134 + return __cmpdi2 (u, v);
136 +symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
139 +extern int32_t __ucmpdi2 (int64_t, int64_t);
140 +int32_t __ucmpdi2_internal (int64_t u, int64_t v)
142 + return __ucmpdi2 (u, v);
144 +symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
147 +extern int64_t __fixunsdfdi (double);
148 +int64_t __fixunsdfdi_internal (double d)
150 + return __fixunsdfdi (d);
152 +symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0);
154 +extern int64_t __fixunssfdi (float);
155 +int64_t __fixunssfdi_internal (float d)
157 + return __fixunssfdi (d);
160 +symbol_version (__fixunsfdi_internal, __fixunsfdi, GLIBC_2.0);
162 +typedef float XFtype __attribute__ ((mode (XF)));
164 +extern int64_t __fixunsxfdi (XFtype);
165 +int64_t __fixunsxfdi_internal (XFtype d)
167 + return __fixunsxfdi (d);
170 +symbol_version (__fixunsxfdi_internal, __fixunsxfdi, GLIBC_2.0);
172 +extern double __floatdidf (int64_t);
173 +double __floatdidf_internal (int64_t u)
175 + return __floatdidf (u);
177 +symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
180 --- sysdeps/i386/Makefile 19 Sep 2002 06:46:06 -0000 1.14
181 +++ sysdeps/i386/Makefile 16 Feb 2003 11:33:41 -0000
183 CFLAGS-dl-load.c += -Wno-unused
184 CFLAGS-dl-reloc.c += -Wno-unused
187 +ifeq ($(subdir),csu)
188 +ifeq (yes,$(build-shared))
190 +sysdep_routines += libgcc-compat
191 +shared-only-routines += libgcc-compat
194 --- sysdeps/i386/Dist 28 Aug 2002 08:24:48 -0000 1.4
195 +++ sysdeps/i386/Dist 16 Feb 2003 11:33:47 -0000
201 --- sysdeps/i386/Versions 17 May 1999 17:23:56 -0000 1.3
202 +++ sysdeps/i386/Versions 16 Feb 2003 11:34:17 -0000
205 # Functions from libgcc.
206 __divdi3; __moddi3; __udivdi3; __umoddi3;
207 + __cmpdi2; __ucmpdi2;
208 + __fixunsdfdi; __fixunssfdi; __fixunsxfdi;
213 --- /dev/null Sat Mar 16 18:32:44 2002
214 +++ sysdeps/sparc/sparc32/libgcc-compat.c Fri Feb 7 00:29:23 2003
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>
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.
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.
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
238 +#include <shlib-compat.h>
240 +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
242 +extern int64_t __ashldi3 (int64_t, int32_t);
243 +int64_t __ashldi3_internal (int64_t u, int32_t b)
245 + return __ashldi3 (u, b);
247 +symbol_version (__ashldi3_internal, __ashldi3, GLIBC_2.0);
250 +extern int64_t __ashrdi3 (int64_t, int32_t);
251 +int64_t __ashrdi3_internal (int64_t u, int32_t b)
253 + return __ashrdi3 (u, b);
255 +symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0);
258 +extern int64_t __lshrdi3 (int64_t, int32_t);
259 +int64_t __lshrdi3_internal (int64_t u, int32_t b)
261 + return __lshrdi3 (u, b);
263 +symbol_version (__lshrdi3_internal, __lshrdi3, GLIBC_2.0);
265 +extern int32_t __cmpdi2 (int64_t, int64_t);
266 +int32_t __cmpdi2_internal (int64_t u, int64_t v)
268 + return __cmpdi2 (u, v);
270 +symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
273 +extern int32_t __ucmpdi2 (int64_t, int64_t);
274 +int32_t __ucmpdi2_internal (int64_t u, int64_t v)
276 + return __ucmpdi2 (u, v);
278 +symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
281 +extern int64_t __fixdfdi (double);
282 +int64_t __fixdfdi_internal (double d)
284 + return __fixdfdi (d);
286 +symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
289 +extern int64_t __fixsfdi (float);
290 +int64_t __fixsfdi_internal (float d)
292 + return __fixsfdi (d);
294 +symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0);
297 +extern int64_t __fixunsdfdi (double);
298 +int64_t __fixunsdfdi_internal (double d)
300 + return __fixunsdfdi (d);
302 +symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0);
304 +extern int64_t __fixunssfdi (float);
305 +int64_t __fixunssfdi_internal (float d)
307 + return __fixunssfdi (d);
310 +symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0);
313 +extern double __floatdidf (int64_t);
314 +double __floatdidf_internal (int64_t u)
316 + return __floatdidf (u);
318 +symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
321 +extern float floatdisf (int64_t);
322 +float __floatdisf_internal (int64_t u)
324 + return __floatdisf (u);
326 +symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
329 +extern int64_t __muldi3 (int64_t, int64_t);
330 +int64_t __muldi3_internal (int64_t u, int64_t v)
332 + return __muldi3 (u, v);
334 +symbol_version (__muldi3_internal, __muldi3, GLIBC_2.0);
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
340 sysdep_routines = dotmul umul $(divrem) alloca
343 +ifeq ($(subdir),csu)
344 +ifeq (yes,$(build-shared))
346 +sysdep_routines += libgcc-compat
347 +shared-only-routines += libgcc-compat
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
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
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;
373 --- /dev/null Sat Mar 16 18:32:44 2002
374 +++ sysdeps/alpha/libgcc-compat.c Sat Mar 1 21:19:36 2003
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>
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.
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.
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
397 +#include <shlib-compat.h>
399 +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
401 +typedef int int128_t __attribute__((__mode__(TI)));
403 +extern int128_t __multi3 (int128_t, int128_t);
404 +int128_t INTUSE (__multi3) (int128_t x, int128_t y)
406 + return __multi3 (x, y);
408 +symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.0);
411 --- sysdeps/alpha/Versions 20 Jan 1999 09:23:32 -0000 1.2
412 +++ sysdeps/alpha/Versions 1 Mar 2003 21:11:25 -0000
414 # functions with special/multiple interfaces
415 __divqu; __remqu; __divqs; __remqs; __divlu; __remlu; __divls;
416 __remls; __divl; __reml; __divq; __remq; __divqu; __remqu;
422 --- sysdeps/alpha/Makefile 29 Jan 2002 03:53:32 -0000 1.18
423 +++ sysdeps/alpha/Makefile 2 Mar 2003 12:20:58 -0000
425 # libc.so requires about 16k for the small data area, which is well
426 # below the 64k maximum.
429 +ifeq ($(subdir),csu)
430 +ifeq (yes,$(build-shared))
432 +sysdep_routines += libgcc-compat
433 +shared-only-routines += libgcc-compat