diff options
author | Jeremy Huddleston <eradicator@gentoo.org> | 2005-07-14 07:39:49 +0000 |
---|---|---|
committer | Jeremy Huddleston <eradicator@gentoo.org> | 2005-07-14 07:39:49 +0000 |
commit | f59a3b179981d283e994290e5daefb8cebf59156 (patch) | |
tree | 8e390f3b07b3830d288ecd618905c21d59dd1df2 /sys-libs/glibc/files/2.2.5 | |
parent | Keyworded ~mips (diff) | |
download | historical-f59a3b179981d283e994290e5daefb8cebf59156.tar.gz historical-f59a3b179981d283e994290e5daefb8cebf59156.tar.bz2 historical-f59a3b179981d283e994290e5daefb8cebf59156.zip |
Cleaning out some old cruft.
Package-Manager: portage-2.0.51.22-r1
Diffstat (limited to 'sys-libs/glibc/files/2.2.5')
19 files changed, 0 insertions, 1425 deletions
diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-alpha-gcc3-fix.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-alpha-gcc3-fix.diff deleted file mode 100644 index f51c7e32efcf..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-alpha-gcc3-fix.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- glibc-2.2.5/linuxthreads/sysdeps/alpha/pt-machine.h Mon Jul 23 17:52:42 2001 -+++ glibc-2.2.5-alpha-gcc3-fix/linuxthreads/sysdeps/alpha/pt-machine.h Sat Sep 7 14:58:23 2002 -@@ -71,7 +71,7 @@ - #define THREAD_SELF \ - ({ \ - register pthread_descr __self __asm__("$0"); \ -- __asm__ ("call_pal %1" : "=r"(__self) : "i"(PAL_rduniq) : "$0"); \ -+ __asm__ ("call_pal %1" : "=r"(__self) : "i"(PAL_rduniq)); \ - __self; \ - }) - diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-alpha-pcdyn-fix.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-alpha-pcdyn-fix.diff deleted file mode 100644 index ce51ee3fc892..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-alpha-pcdyn-fix.diff +++ /dev/null @@ -1,19 +0,0 @@ ---- glibc-2.2.5/sysdeps/alpha/divrem.h Fri Jul 6 06:55:45 2001 -+++ glibc-2.2.5-alpha/sysdeps/alpha/divrem.h Fri Sep 6 17:32:35 2002 -@@ -86,6 +86,7 @@ - - .align 3 - UFUNC_NAME: -+$udiv_entry: - lda sp, -STACK(sp) - .frame sp, STACK, retaddr, 0 - #ifdef PROF -@@ -206,7 +207,7 @@ - cmovge AT, AT, arg2 - - /* Do the unsigned division. */ -- bsr retaddr, UFUNC_NAME -+ bsr retaddr, $udiv_entry - - /* Restore originals and adjust the sign of the result. */ - ldq arg1, 0(sp) diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-arm-errlist-fix.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-arm-errlist-fix.diff deleted file mode 100644 index 90799ae65cd9..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-arm-errlist-fix.diff +++ /dev/null @@ -1,51 +0,0 @@ -2002-07-22 Philip Blundell <philb@gnu.org> - - * sysdeps/unix/sysv/linux/arm/errlist.c: Remove extra weak alias - definiton of _old_sys_nerr. Define _old_sys_errlist as strong - alias. - -2002-05-19 Ulrich Drepper <drepper@redhat.com> - - * sysdeps/unix/sysv/linux/errlist.c: Remove extra weak alias - definiton of _old_sys_nerr. Define _old_sys_errlist as strong - alias. - ---- sysdeps/unix/sysv/linux/errlist.c 6 Jul 2001 04:56:12 -0000 1.8 -+++ sysdeps/unix/sysv/linux/errlist.c 3 Jun 2002 06:49:30 -0000 1.8.2.1 -@@ -1,4 +1,4 @@ --/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. -+/* Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or -@@ -41,7 +41,7 @@ - strong_alias (__old_sys_nerr, _old_sys_nerr); - compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0); - compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0); --weak_alias (__old_sys_errlist, _old_sys_errlist); -+strong_alias (__old_sys_errlist, _old_sys_errlist); - compat_symbol (libc, __old_sys_errlist, _sys_errlist, GLIBC_2_0); - compat_symbol (libc, _old_sys_errlist, sys_errlist, GLIBC_2_0); - #endif - ---- sysdeps/unix/sysv/linux/arm/errlist.c 6 Jul 2001 04:56:13 -0000 1.4 -+++ sysdeps/unix/sysv/linux/arm/errlist.c 24 Jul 2002 11:17:01 -0000 1.5 -@@ -1,4 +1,4 @@ --/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. -+/* Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or -@@ -38,10 +38,9 @@ extern const char *const *__old_sys_errl - const int __old_sys_nerr = OLD_ERRLIST_SIZE; - - strong_alias (__old_sys_nerr, _old_sys_nerr); --weak_alias (__old_sys_nerr, _old_sys_nerr) - compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0); - compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0); --weak_alias (__old_sys_errlist, _old_sys_errlist); -+strong_alias (__old_sys_errlist, _old_sys_errlist); - compat_symbol (libc, __old_sys_errlist, _sys_errlist, GLIBC_2_0); - compat_symbol (libc, _old_sys_errlist, sys_errlist, GLIBC_2_0); - #endif - diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-arm-sysdeps-fix.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-arm-sysdeps-fix.diff deleted file mode 100644 index 42b398ee83d8..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-arm-sysdeps-fix.diff +++ /dev/null @@ -1,13 +0,0 @@ ---- sysdeps/unix/sysv/linux/configure.orig Mon Sep 23 21:31:29 2002 -+++ sysdeps/unix/sysv/linux/configure Mon Sep 23 21:30:09 2002 -@@ -60,6 +60,10 @@ - libc_cv_gcc_unwind_find_fde=yes - arch_minimum_kernel=2.0.10 - ;; -+ arm*) -+ arch_minimum_kernel=2.4.0 -+ libc_cv_gcc_unwind_find_fde=yes -+ ;; - ia64*) - arch_minimum_kernel=2.4.0 - ;; diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-divdi3.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-divdi3.diff deleted file mode 100644 index 084e26fa4a19..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-divdi3.diff +++ /dev/null @@ -1,407 +0,0 @@ ---- libc/sysdeps/i386/Makefile.jj Fri Sep 17 18:59:13 1999 -+++ libc/sysdeps/i386/Makefile Thu Feb 28 19:04:03 2002 -@@ -9,6 +9,12 @@ ifeq ($(subdir),csu) - # On i686 we must avoid generating the trampoline functions generated - # to get the GOT pointer. - CFLAGS-initfini.s += -march=i386 -mcpu=i386 -+ -+ifeq (yes,$(build-shared)) -+# Compatibility -+sysdep_routines += divdi3 -+shared-only-routines += divdi3 -+endif - endif - - ifeq ($(subdir),db2) ---- libc/sysdeps/m68k/Makefile.jj Thu Aug 23 18:49:59 2001 -+++ libc/sysdeps/m68k/Makefile Thu Feb 28 19:04:29 2002 -@@ -33,6 +33,14 @@ CFLAGS-setjmp.c := -fno-omit-frame-point - # The 68k `long double' is a distinct type we support. - long-double-fcts = yes - -+ifeq ($(subdir),csu) -+ifeq (yes,$(build-shared)) -+# Compatibility -+sysdep_routines += divdi3 -+shared-only-routines += divdi3 -+endif -+endif -+ - ifeq ($(subdir),elf) - CFLAGS-rtld.c += -Wno-uninitialized -Wno-unused - endif ---- libc/sysdeps/s390/s390-32/Makefile.jj Fri Mar 16 09:59:44 2001 -+++ libc/sysdeps/s390/s390-32/Makefile Thu Feb 28 19:04:44 2002 -@@ -1,5 +1,13 @@ - pic-ccflag = -fpic - -+ifeq ($(subdir),csu) -+ifeq (yes,$(build-shared)) -+# Compatibility -+sysdep_routines += divdi3 -+shared-only-routines += divdi3 -+endif -+endif -+ - ifeq ($(subdir),gmon) - sysdep_routines += s390-mcount - endif ---- libc/sysdeps/powerpc/Makefile.orig 2000-11-27 17:32:47.000000000 -0600 -+++ libc/sysdeps/powerpc/Makefile 2002-10-02 20:43:26.000000000 -0500 -@@ -24,6 +24,13 @@ - endif - - ifeq ($(subdir),csu) -+ -+ifeq (yes,$(build-shared)) -+# Compatibility -+sysdep_routines += divdi3 -+shared-only-routines += divdi3 -+endif -+ - ifneq ($(elf),no) - # The initfini generation code doesn't work in the presence of -fPIC, so - # we use -fpic instead which is much better. ---- libc/sysdeps/powerpc/Versions.orig 2000-02-28 15:27:57.000000000 -0600 -+++ libc/sysdeps/powerpc/Versions 2002-10-02 20:43:20.000000000 -0500 -@@ -1,3 +1,10 @@ -+libc { -+ GLIBC_2.0 { -+ # Functions from libgcc. -+ __divdi3; __moddi3; __udivdi3; __umoddi3; -+ } -+} -+ - libm { - GLIBC_2.1 { - # symbols used in macros from sysdeps/powerpc/bits/fenv.h ---- libc/sysdeps/wordsize-32/divdi3.c.jj Thu Feb 28 18:53:16 2002 -+++ libc/sysdeps/wordsize-32/divdi3.c Thu Feb 28 19:02:18 2002 -@@ -0,0 +1,327 @@ -+/* 64-bit multiplication and division -+ Copyright (C) 1989, 1992-1999, 2000, 2001, 2002 -+ Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include <endian.h> -+#include <stdlib.h> -+#include <bits/wordsize.h> -+ -+#if __WORDSIZE != 32 -+#error This is for 32-bit targets only -+#endif -+ -+typedef unsigned int UQItype __attribute__ ((mode (QI))); -+typedef int SItype __attribute__ ((mode (SI))); -+typedef unsigned int USItype __attribute__ ((mode (SI))); -+typedef int DItype __attribute__ ((mode (DI))); -+typedef unsigned int UDItype __attribute__ ((mode (DI))); -+#define Wtype SItype -+#define HWtype SItype -+#define DWtype DItype -+#define UWtype USItype -+#define UHWtype USItype -+#define UDWtype UDItype -+#define W_TYPE_SIZE 32 -+ -+#include <stdlib/longlong.h> -+ -+#if __BYTE_ORDER == __BIG_ENDIAN -+struct DWstruct { Wtype high, low;}; -+#elif __BYTE_ORDER == __LITTLE_ENDIAN -+struct DWstruct { Wtype low, high;}; -+#else -+#error Unhandled endianity -+#endif -+typedef union { struct DWstruct s; DWtype ll; } DWunion; -+ -+static UDWtype -+__udivmoddi4 (UDWtype n, UDWtype d, UDWtype *rp) -+{ -+ DWunion ww; -+ DWunion nn, dd; -+ DWunion rr; -+ UWtype d0, d1, n0, n1, n2; -+ UWtype q0, q1; -+ UWtype b, bm; -+ -+ nn.ll = n; -+ dd.ll = d; -+ -+ d0 = dd.s.low; -+ d1 = dd.s.high; -+ n0 = nn.s.low; -+ n1 = nn.s.high; -+ -+#if !UDIV_NEEDS_NORMALIZATION -+ if (d1 == 0) -+ { -+ if (d0 > n1) -+ { -+ /* 0q = nn / 0D */ -+ -+ udiv_qrnnd (q0, n0, n1, n0, d0); -+ q1 = 0; -+ -+ /* Remainder in n0. */ -+ } -+ else -+ { -+ /* qq = NN / 0d */ -+ -+ if (d0 == 0) -+ d0 = 1 / d0; /* Divide intentionally by zero. */ -+ -+ udiv_qrnnd (q1, n1, 0, n1, d0); -+ udiv_qrnnd (q0, n0, n1, n0, d0); -+ -+ /* Remainder in n0. */ -+ } -+ -+ if (rp != 0) -+ { -+ rr.s.low = n0; -+ rr.s.high = 0; -+ *rp = rr.ll; -+ } -+ } -+ -+#else /* UDIV_NEEDS_NORMALIZATION */ -+ -+ if (d1 == 0) -+ { -+ if (d0 > n1) -+ { -+ /* 0q = nn / 0D */ -+ -+ count_leading_zeros (bm, d0); -+ -+ if (bm != 0) -+ { -+ /* Normalize, i.e. make the most significant bit of the -+ denominator set. */ -+ -+ d0 = d0 << bm; -+ n1 = (n1 << bm) | (n0 >> (W_TYPE_SIZE - bm)); -+ n0 = n0 << bm; -+ } -+ -+ udiv_qrnnd (q0, n0, n1, n0, d0); -+ q1 = 0; -+ -+ /* Remainder in n0 >> bm. */ -+ } -+ else -+ { -+ /* qq = NN / 0d */ -+ -+ if (d0 == 0) -+ d0 = 1 / d0; /* Divide intentionally by zero. */ -+ -+ count_leading_zeros (bm, d0); -+ -+ if (bm == 0) -+ { -+ /* From (n1 >= d0) /\ (the most significant bit of d0 is set), -+ conclude (the most significant bit of n1 is set) /\ (the -+ leading quotient digit q1 = 1). -+ -+ This special case is necessary, not an optimization. -+ (Shifts counts of W_TYPE_SIZE are undefined.) */ -+ -+ n1 -= d0; -+ q1 = 1; -+ } -+ else -+ { -+ /* Normalize. */ -+ -+ b = W_TYPE_SIZE - bm; -+ -+ d0 = d0 << bm; -+ n2 = n1 >> b; -+ n1 = (n1 << bm) | (n0 >> b); -+ n0 = n0 << bm; -+ -+ udiv_qrnnd (q1, n1, n2, n1, d0); -+ } -+ -+ /* n1 != d0... */ -+ -+ udiv_qrnnd (q0, n0, n1, n0, d0); -+ -+ /* Remainder in n0 >> bm. */ -+ } -+ -+ if (rp != 0) -+ { -+ rr.s.low = n0 >> bm; -+ rr.s.high = 0; -+ *rp = rr.ll; -+ } -+ } -+#endif /* UDIV_NEEDS_NORMALIZATION */ -+ -+ else -+ { -+ if (d1 > n1) -+ { -+ /* 00 = nn / DD */ -+ -+ q0 = 0; -+ q1 = 0; -+ -+ /* Remainder in n1n0. */ -+ if (rp != 0) -+ { -+ rr.s.low = n0; -+ rr.s.high = n1; -+ *rp = rr.ll; -+ } -+ } -+ else -+ { -+ /* 0q = NN / dd */ -+ -+ count_leading_zeros (bm, d1); -+ if (bm == 0) -+ { -+ /* From (n1 >= d1) /\ (the most significant bit of d1 is set), -+ conclude (the most significant bit of n1 is set) /\ (the -+ quotient digit q0 = 0 or 1). -+ -+ This special case is necessary, not an optimization. */ -+ -+ /* The condition on the next line takes advantage of that -+ n1 >= d1 (true due to program flow). */ -+ if (n1 > d1 || n0 >= d0) -+ { -+ q0 = 1; -+ sub_ddmmss (n1, n0, n1, n0, d1, d0); -+ } -+ else -+ q0 = 0; -+ -+ q1 = 0; -+ -+ if (rp != 0) -+ { -+ rr.s.low = n0; -+ rr.s.high = n1; -+ *rp = rr.ll; -+ } -+ } -+ else -+ { -+ UWtype m1, m0; -+ /* Normalize. */ -+ -+ b = W_TYPE_SIZE - bm; -+ -+ d1 = (d1 << bm) | (d0 >> b); -+ d0 = d0 << bm; -+ n2 = n1 >> b; -+ n1 = (n1 << bm) | (n0 >> b); -+ n0 = n0 << bm; -+ -+ udiv_qrnnd (q0, n1, n2, n1, d1); -+ umul_ppmm (m1, m0, q0, d0); -+ -+ if (m1 > n1 || (m1 == n1 && m0 > n0)) -+ { -+ q0--; -+ sub_ddmmss (m1, m0, m1, m0, d1, d0); -+ } -+ -+ q1 = 0; -+ -+ /* Remainder in (n1n0 - m1m0) >> bm. */ -+ if (rp != 0) -+ { -+ sub_ddmmss (n1, n0, n1, n0, m1, m0); -+ rr.s.low = (n1 << b) | (n0 >> bm); -+ rr.s.high = n1 >> bm; -+ *rp = rr.ll; -+ } -+ } -+ } -+ } -+ -+ ww.s.low = q0; -+ ww.s.high = q1; -+ return ww.ll; -+} -+ -+DWtype -+__divdi3 (DWtype u, DWtype v) -+{ -+ Wtype c = 0; -+ DWtype w; -+ -+ if (u < 0) -+ { -+ c = ~c; -+ u = -u; -+ } -+ if (v < 0) -+ { -+ c = ~c; -+ v = -v; -+ } -+ w = __udivmoddi4 (u, v, NULL); -+ if (c) -+ w = -w; -+ return w; -+} -+ -+DWtype -+__moddi3 (DWtype u, DWtype v) -+{ -+ Wtype c = 0; -+ DWtype w; -+ -+ if (u < 0) -+ { -+ c = ~c; -+ u = -u; -+ } -+ if (v < 0) -+ { -+ c = ~c; -+ v = -v; -+ } -+ __udivmoddi4 (u, v, &w); -+ if (c) -+ w = -w; -+ return w; -+} -+ -+UDWtype -+__udivdi3 (UDWtype u, UDWtype v) -+{ -+ return __udivmoddi4 (u, v, NULL); -+} -+ -+UDWtype -+__umoddi3 (UDWtype u, UDWtype v) -+{ -+ UDWtype w; -+ -+ __udivmoddi4 (u, v, &w); -+ return w; -+} diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-dns-network-overflow.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-dns-network-overflow.diff deleted file mode 100644 index 5704c8a6259d..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-dns-network-overflow.diff +++ /dev/null @@ -1,13 +0,0 @@ ---- libc/resolv/nss_dns/dns-network.c Fri Jul 12 10:18:13 2002 -+++ libc/resolv/nss_dns/dns-network.c Fri Jul 12 10:20:10 2002 -@@ -328,7 +328,9 @@ - } - cp += n; - *alias_pointer++ = bp; -- bp += strlen (bp) + 1; -+ n = strlen (bp) + 1; -+ bp += n; -+ linebuflen -= n; - result->n_addrtype = class == C_IN ? AF_INET : AF_UNSPEC; - ++have_answer; - } diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-gcc311.patch b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-gcc311.patch deleted file mode 100644 index 04fb23de1e44..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-gcc311.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- glibc-2.2.5/sysdeps/unix/sysv/linux/errlist.c Fri Jul 5 22:35:57 2002 -+++ glibc-2.2.5.azarah/sysdeps/unix/sysv/linux/errlist.c Fri Jul 5 22:41:51 2002 -@@ -37,8 +37,8 @@ - - const int __old_sys_nerr = OLD_ERRLIST_SIZE; - --strong_alias (__old_sys_nerr, _old_sys_nerr); - weak_alias (__old_sys_nerr, _old_sys_nerr) -+strong_alias (__old_sys_nerr, _old_sys_nerr); - compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0); - compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0); - weak_alias (__old_sys_errlist, _old_sys_errlist); diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-getgrouplist.patch b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-getgrouplist.patch deleted file mode 100644 index e8544ece803d..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-getgrouplist.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- glibc-2.2.5/grp/initgroups.c.orig 2003-11-13 13:03:29.620138976 -0500 -+++ glibc-2.2.5/grp/initgroups.c 2003-11-13 13:05:03.693837600 -0500 -@@ -23,6 +23,7 @@ - #include <stdlib.h> - #include <string.h> - #include <unistd.h> -+#include <sys/param.h> - #include <sys/types.h> - #include <nsswitch.h> - -@@ -207,6 +208,9 @@ - return -1; - - result = internal_getgrouplist (user, group, &size, &newgroups, -1); -+ -+ memcpy (groups, newgroups, MIN (*ngroups, result) * sizeof (gid_t)); -+ - if (result > *ngroups) - { - *ngroups = result; -@@ -214,8 +218,6 @@ - } - else - *ngroups = result; -- -- memcpy (groups, newgroups, *ngroups * sizeof (gid_t)); - - free (newgroups); - return result; diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-ppc-semctl.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-ppc-semctl.diff deleted file mode 100644 index 3e42db95b972..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-ppc-semctl.diff +++ /dev/null @@ -1,56 +0,0 @@ ---- sysdeps/unix/sysv/linux/semctl.c 6 Jul 2001 04:56:13 -0000 1.12 -+++ sysdeps/unix/sysv/linux/semctl.c 28 Apr 2002 21:03:16 -0000 -@@ -69,8 +69,23 @@ __old_semctl (int semid, int semnum, int - - va_start (ap, cmd); - -- /* Get the argument. */ -- arg = va_arg (ap, union semun); -+ /* Get the argument only if required. */ -+ arg.buf = NULL; -+ switch (cmd) -+ { -+ case SETVAL: /* arg.val */ -+ case GETALL: /* arg.array */ -+ case SETALL: -+ case IPC_STAT: /* arg.buf */ -+ case IPC_SET: -+ case SEM_STAT: -+ case IPC_INFO: /* arg.__buf */ -+ case SEM_INFO: -+ va_start (ap, cmd); -+ arg = va_arg (ap, union semun); -+ va_end (ap); -+ break; -+ } - - va_end (ap); - -@@ -88,8 +103,23 @@ __new_semctl (int semid, int semnum, int - - va_start (ap, cmd); - -- /* Get the argument. */ -- arg = va_arg (ap, union semun); -+ /* Get the argument only if required. */ -+ arg.buf = NULL; -+ switch (cmd) -+ { -+ case SETVAL: /* arg.val */ -+ case GETALL: /* arg.array */ -+ case SETALL: -+ case IPC_STAT: /* arg.buf */ -+ case IPC_SET: -+ case SEM_STAT: -+ case IPC_INFO: /* arg.__buf */ -+ case SEM_INFO: -+ va_start (ap, cmd); -+ arg = va_arg (ap, union semun); -+ va_end (ap); -+ break; -+ } - - va_end (ap); - - - diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-ppc-sqrtl.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-ppc-sqrtl.diff deleted file mode 100644 index ed8c3b40550a..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-ppc-sqrtl.diff +++ /dev/null @@ -1,19 +0,0 @@ ---- sysdeps/powerpc/fpu/w_sqrt.c 6 Jul 2001 04:56:02 -0000 1.2 -+++ sysdeps/powerpc/fpu/w_sqrt.c 10 May 2002 08:40:46 -0000 -@@ -1,5 +1,5 @@ - /* Single-precision floating point square root. -- Copyright (C) 1997 Free Software Foundation, Inc. -+ Copyright (C) 1997, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or -@@ -139,3 +139,8 @@ weak_alias (__sqrt, sqrt) - /* Strictly, this is wrong, but the only places where _ieee754_sqrt is - used will not pass in a negative result. */ - strong_alias(__sqrt,__ieee754_sqrt) -+ -+#ifdef NO_LONG_DOUBLE -+weak_alias (__sqrt, __sqrtl) -+weak_alias (__sqrt, sqrtl) -+#endif - diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sandbox.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sandbox.diff deleted file mode 100644 index a963a5f8831e..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sandbox.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- libc/elf/do-lookup.h 2001/08/26 22:24:08 1.16 -+++ libc/elf/do-lookup.h 2002/04/03 04:03:39 1.16.2.1 -@@ -128,7 +128,7 @@ - if (verstab != NULL) - { - ElfW(Half) ndx = verstab[symidx] & 0x7fff; -- if (ndx > 2) /* map->l_versions[ndx].hash != 0) */ -+ if (ndx >= 2) /* map->l_versions[ndx].hash != 0) */ - { - /* Don't accept hidden symbols. */ - if ((verstab[symidx] & 0x8000) == 0 && num_versions++ == 0) diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc-mathinline.patch b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc-mathinline.patch deleted file mode 100644 index 0560a68cfd60..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc-mathinline.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- glibc-2.2.5/sysdeps/sparc/fpu/bits/mathinline.h 2001-11-28 21:13:08.000000000 +0000 -+++ glibc-2.3.1/sysdeps/sparc/fpu/bits/mathinline.h 2002-05-16 01:16:23.000000000 +0100 -@@ -1,5 +1,5 @@ - /* Inline math functions for SPARC. -- Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. -+ Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Jakub Jelinek <jakub@redhat.com>. - -@@ -213,16 +213,16 @@ - - # ifndef __NO_MATH_INLINES - --__MATH_INLINE double fdim (double __x, double __y); -+__MATH_INLINE double fdim (double __x, double __y) __THROW; - __MATH_INLINE double --fdim (double __x, double __y) -+fdim (double __x, double __y) __THROW - { - return __x < __y ? 0 : __x - __y; - } - --__MATH_INLINE float fdimf (float __x, float __y); -+__MATH_INLINE float fdimf (float __x, float __y) __THROW; - __MATH_INLINE float --fdimf (float __x, float __y) -+fdimf (float __x, float __y) __THROW - { - return __x < __y ? 0 : __x - __y; - } diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc-misc.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc-misc.diff deleted file mode 100644 index dc5f08bf50b7..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc-misc.diff +++ /dev/null @@ -1,339 +0,0 @@ -#! /bin/sh -e - -# DP: Misc. SPARC fixes. - -if [ $# -ne 2 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; - -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - -2002-05-16 David S. Miller <davem@redhat.com> - - * sysdeps/sparc/sparc32/dl-machine.h (LOAD_PIC_REG): Define. - (elf_machine_dynamic): Use it to force PIC register to be loaded. - (elf_machine_load_address): Likewise. - * sysdeps/sparc/sparc64/dl-machine.h: Mirror sparc32 changes. - - * sysdeps/sparc/sparc64/strncmp.S: When second argument pointer - is unaligned, do not forget to fully initialize %g1 magic value. - - * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (LOC): Fix CPP - pasting. - - * sysdeps/unix/sysv/linux/sparc/sys/procfs.h: Fix 64-bit elf - register definitions and provide 32-bit variants of structures - during 64-bit builds. - - * soft-fp/op-1.h (_FP_FRAC_CLEAR_OVERP_1): Define. - * soft-fp/op-2.h (_FP_FRAC_CLEAR_OVERP_2): Define. - * soft-fp/op-4.h (_FP_FRAC_CLEAR_OVERP_4): Define. - * soft-fp/op-common.h (_FP_PACK_CANONICAL): After rounding, if - _FP_FRAC_OVERP_X is set, use _FP_FRAC_CLEAR_OVERP_X to clear it. - (_FP_FROM_INT): Perform right shifts on unsigned integer type. - Do not clear implicit one bit here, it must be done post-rounding. - Only pad to the left using left shift if value uses less than the - available fractional bits. - -diff -urN glibc-2.2.5.orig/soft-fp/op-1.h glibc-2.2.5/soft-fp/op-1.h ---- glibc-2.2.5.orig/soft-fp/op-1.h Mon Jun 17 21:48:12 2002 -+++ glibc-2.2.5/soft-fp/op-1.h Mon Jun 17 22:27:52 2002 -@@ -55,6 +55,7 @@ - #define _FP_FRAC_NEGP_1(X) ((_FP_WS_TYPE)X##_f < 0) - #define _FP_FRAC_ZEROP_1(X) (X##_f == 0) - #define _FP_FRAC_OVERP_1(fs,X) (X##_f & _FP_OVERFLOW_##fs) -+#define _FP_FRAC_CLEAR_OVERP_1(fs,X) (X##_f &= ~_FP_OVERFLOW_##fs) - #define _FP_FRAC_EQ_1(X, Y) (X##_f == Y##_f) - #define _FP_FRAC_GE_1(X, Y) (X##_f >= Y##_f) - #define _FP_FRAC_GT_1(X, Y) (X##_f > Y##_f) -diff -urN glibc-2.2.5.orig/soft-fp/op-2.h glibc-2.2.5/soft-fp/op-2.h ---- glibc-2.2.5.orig/soft-fp/op-2.h Mon Jun 17 21:48:12 2002 -+++ glibc-2.2.5/soft-fp/op-2.h Mon Jun 17 22:27:52 2002 -@@ -112,6 +112,7 @@ - #define _FP_FRAC_NEGP_2(X) ((_FP_WS_TYPE)X##_f1 < 0) - #define _FP_FRAC_ZEROP_2(X) ((X##_f1 | X##_f0) == 0) - #define _FP_FRAC_OVERP_2(fs,X) (_FP_FRAC_HIGH_##fs(X) & _FP_OVERFLOW_##fs) -+#define _FP_FRAC_CLEAR_OVERP_2(fs,X) (_FP_FRAC_HIGH_##fs(X) &= ~_FP_OVERFLOW_##fs) - #define _FP_FRAC_EQ_2(X, Y) (X##_f1 == Y##_f1 && X##_f0 == Y##_f0) - #define _FP_FRAC_GT_2(X, Y) \ - (X##_f1 > Y##_f1 || X##_f1 == Y##_f1 && X##_f0 > Y##_f0) -diff -urN glibc-2.2.5.orig/soft-fp/op-4.h glibc-2.2.5/soft-fp/op-4.h ---- glibc-2.2.5.orig/soft-fp/op-4.h Mon Jun 17 21:48:12 2002 -+++ glibc-2.2.5/soft-fp/op-4.h Mon Jun 17 22:27:52 2002 -@@ -129,6 +129,7 @@ - #define _FP_FRAC_ZEROP_4(X) ((X##_f[0] | X##_f[1] | X##_f[2] | X##_f[3]) == 0) - #define _FP_FRAC_NEGP_4(X) ((_FP_WS_TYPE)X##_f[3] < 0) - #define _FP_FRAC_OVERP_4(fs,X) (_FP_FRAC_HIGH_##fs(X) & _FP_OVERFLOW_##fs) -+#define _FP_FRAC_CLEAR_OVERP_4(fs,X) (_FP_FRAC_HIGH_##fs(X) &= ~_FP_OVERFLOW_##fs) - - #define _FP_FRAC_EQ_4(X,Y) \ - (X##_f[0] == Y##_f[0] && X##_f[1] == Y##_f[1] \ -diff -urN glibc-2.2.5.orig/soft-fp/op-common.h glibc-2.2.5/soft-fp/op-common.h ---- glibc-2.2.5.orig/soft-fp/op-common.h Mon Jun 17 21:48:12 2002 -+++ glibc-2.2.5/soft-fp/op-common.h Mon Jun 17 22:27:52 2002 -@@ -89,11 +89,10 @@ - _FP_ROUND(wc, X); \ - if (_FP_FRAC_OVERP_##wc(fs, X)) \ - { \ -- _FP_FRAC_SRL_##wc(X, (_FP_WORKBITS+1)); \ -+ _FP_FRAC_CLEAR_OVERP_##wc(fs, X); \ - X##_e++; \ - } \ -- else \ -- _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \ -+ _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \ - if (X##_e >= _FP_EXPMAX_##fs) \ - { \ - /* overflow */ \ -@@ -682,25 +681,27 @@ - do { \ - if (r) \ - { \ -+ unsigned rtype ur_; \ - X##_c = FP_CLS_NORMAL; \ - \ - if ((X##_s = (r < 0))) \ - r = -r; \ - \ -+ ur_ = (unsigned rtype) r; \ - if (rsize <= _FP_W_TYPE_SIZE) \ -- __FP_CLZ(X##_e, r); \ -+ __FP_CLZ(X##_e, ur_); \ - else \ -- __FP_CLZ_2(X##_e, (_FP_W_TYPE)(r >> _FP_W_TYPE_SIZE), \ -- (_FP_W_TYPE)r); \ -+ __FP_CLZ_2(X##_e, (_FP_W_TYPE)(ur_ >> _FP_W_TYPE_SIZE), \ -+ (_FP_W_TYPE)ur_); \ - if (rsize < _FP_W_TYPE_SIZE) \ - X##_e -= (_FP_W_TYPE_SIZE - rsize); \ - X##_e = rsize - X##_e - 1; \ - \ - if (_FP_FRACBITS_##fs < rsize && _FP_WFRACBITS_##fs < X##_e) \ -- __FP_FRAC_SRS_1(r, (X##_e - _FP_WFRACBITS_##fs), rsize); \ -- r &= ~((rtype)1 << X##_e); \ -- _FP_FRAC_DISASSEMBLE_##wc(X, ((unsigned rtype)r), rsize); \ -- _FP_FRAC_SLL_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 1)); \ -+ __FP_FRAC_SRS_1(ur_, (X##_e - _FP_WFRACBITS_##fs + 1), rsize);\ -+ _FP_FRAC_DISASSEMBLE_##wc(X, ur_, rsize); \ -+ if ((_FP_WFRACBITS_##fs - X##_e - 1) > 0) \ -+ _FP_FRAC_SLL_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 1)); \ - } \ - else \ - { \ -diff -urN glibc-2.2.5.orig/sysdeps/sparc/sparc32/dl-machine.h glibc-2.2.5/sysdeps/sparc/sparc32/dl-machine.h ---- glibc-2.2.5.orig/sysdeps/sparc/sparc32/dl-machine.h Mon Jun 17 21:48:12 2002 -+++ glibc-2.2.5/sysdeps/sparc/sparc32/dl-machine.h Mon Jun 17 22:27:52 2002 -@@ -42,7 +42,6 @@ - #define LD_SO_PRELOAD ((_dl_hwcap & HWCAP_SPARC_V9) ? "/etc/ld.so.preload32" \ - : "/etc/ld.so.preload") - -- - /* Return nonzero iff ELF header is compatible with the running host. */ - static inline int - elf_machine_matches_host (const Elf32_Ehdr *ehdr) -@@ -64,6 +63,17 @@ - return 0; - } - -+/* We have to do this because elf_machine_{dynamic,load_address} can be -+ invoked from functions that have no GOT references, and thus the compiler -+ has no obligation to load the PIC register. */ -+#define LOAD_PIC_REG(PIC_REG) \ -+do { register Elf32_Addr pc __asm("o7"); \ -+ __asm("sethi %%hi(_GLOBAL_OFFSET_TABLE_-4), %1\n\t" \ -+ "call 1f\n\t" \ -+ "add %1, %%lo(_GLOBAL_OFFSET_TABLE_+4), %1\n" \ -+ "1:\tadd %1, %0, %1" \ -+ : "=r" (pc), "=r" (PIC_REG)); \ -+} while (0) - - /* Return the link-time address of _DYNAMIC. Conveniently, this is the - first element of the GOT. This must be inlined in a function which -@@ -72,6 +82,9 @@ - elf_machine_dynamic (void) - { - register Elf32_Addr *got asm ("%l7"); -+ -+ LOAD_PIC_REG (got); -+ - return *got; - } - -@@ -80,6 +93,8 @@ - elf_machine_load_address (void) - { - register Elf32_Addr pc __asm("%o7"), pic __asm("%l7"), got; -+ -+ LOAD_PIC_REG (pic); - - /* Utilize the fact that a local .got entry will be partially - initialized at startup awaiting its RELATIVE fixup. */ -diff -urN glibc-2.2.5.orig/sysdeps/sparc/sparc64/dl-machine.h glibc-2.2.5/sysdeps/sparc/sparc64/dl-machine.h ---- glibc-2.2.5.orig/sysdeps/sparc/sparc64/dl-machine.h Mon Jun 17 21:48:12 2002 -+++ glibc-2.2.5/sysdeps/sparc/sparc64/dl-machine.h Mon Jun 17 22:27:52 2002 -@@ -34,6 +34,18 @@ - return ehdr->e_machine == EM_SPARCV9; - } - -+/* We have to do this because elf_machine_{dynamic,load_address} can be -+ invoked from functions that have no GOT references, and thus the compiler -+ has no obligation to load the PIC register. */ -+#define LOAD_PIC_REG(PIC_REG) \ -+do { Elf64_Addr tmp; \ -+ __asm("sethi %%hi(_GLOBAL_OFFSET_TABLE_-4), %1\n\t" \ -+ "rd %%pc, %0\n\t" \ -+ "add %1, %%lo(_GLOBAL_OFFSET_TABLE_+4), %1\n\t" \ -+ "add %0, %1, %0" \ -+ : "=r" (PIC_REG), "=r" (tmp)); \ -+} while (0) -+ - /* Return the link-time address of _DYNAMIC. Conveniently, this is the - first element of the GOT. This must be inlined in a function which - uses global data. */ -@@ -42,6 +54,8 @@ - { - register Elf64_Addr *elf_pic_register __asm__("%l7"); - -+ LOAD_PIC_REG (elf_pic_register); -+ - return *elf_pic_register; - } - -@@ -50,6 +64,8 @@ - elf_machine_load_address (void) - { - register Elf64_Addr *elf_pic_register __asm__("%l7"); -+ -+ LOAD_PIC_REG (elf_pic_register); - - /* We used to utilize the fact that a local .got entry will - be partially initialized at startup awaiting its RELATIVE -diff -urN glibc-2.2.5.orig/sysdeps/sparc/sparc64/strncmp.S glibc-2.2.5/sysdeps/sparc/sparc64/strncmp.S ---- glibc-2.2.5.orig/sysdeps/sparc/sparc64/strncmp.S Mon Jun 17 21:48:12 2002 -+++ glibc-2.2.5/sysdeps/sparc/sparc64/strncmp.S Mon Jun 17 22:27:52 2002 -@@ -290,14 +290,15 @@ - ldxa [%o0] ASI_PNF, %g4 /* Load */ - 11: sllx %g3, 3, %g5 /* IEU0 Group */ - mov 64, %g7 /* IEU1 */ -- sub %o1, %g3, %o1 /* IEU0 Group */ -+ or %g1, %g2, %g1 /* IEU0 Group */ -+ sub %o1, %g3, %o1 /* IEU1 */ - -- sub %g7, %g5, %g7 /* IEU1 */ -+ sub %g7, %g5, %g7 /* IEU0 Group */ - ldxa [%o1] ASI_PNF, %o4 /* Load */ -- sllx %g1, 7, %g2 /* IEU0 Group */ -- add %o1, 8, %o1 /* IEU1 */ -+ sllx %g1, 7, %g2 /* IEU1 */ -+ add %o1, 8, %o1 /* IEU0 Group */ - /* %g1 = 0101010101010101 -- %g2 = 8080808080800880 -+ %g2 = 8080808080808080 - %g3 = %o1 alignment - %g5 = number of bits to shift left - %g7 = number of bits to shift right */ -diff -urN glibc-2.2.5.orig/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h ---- glibc-2.2.5.orig/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h Mon Jun 17 21:48:12 2002 -+++ glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h Mon Jun 17 22:27:52 2002 -@@ -48,7 +48,7 @@ - #define END(name) \ - .size name, . - name - --#define LOC(name) . ## L ## name -+#define LOC(name) .##L##name - - #ifdef PIC - #define SYSCALL_ERROR_HANDLER \ -diff -urN glibc-2.2.5.orig/sysdeps/unix/sysv/linux/sparc/sys/procfs.h glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sys/procfs.h ---- glibc-2.2.5.orig/sysdeps/unix/sysv/linux/sparc/sys/procfs.h Mon Jun 17 21:48:12 2002 -+++ glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sys/procfs.h Mon Jun 17 22:27:52 2002 -@@ -35,7 +35,7 @@ - - #if __WORDSIZE == 64 - --#define ELF_NGREG 20 -+#define ELF_NGREG 36 - - typedef struct - { -@@ -138,6 +138,73 @@ - - typedef struct elf_prstatus prstatus_t; - typedef struct elf_prpsinfo prpsinfo_t; -+ -+#if __WORDSIZE == 64 -+ -+/* Provide 32-bit variants so that BFD can read 32-bit -+ core files. */ -+#define ELF_NGREG32 38 -+typedef struct -+ { -+ union -+ { -+ unsigned int pr_regs[32]; -+ double pr_dregs[16]; -+ } pr_fr; -+ unsigned int __unused; -+ unsigned int pr_fsr; -+ unsigned char pr_qcnt; -+ unsigned char pr_q_entrysize; -+ unsigned char pr_en; -+ unsigned int pr_q[64]; -+ } elf_fpregset_t32; -+ -+typedef unsigned int elf_greg_t32; -+typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32]; -+ -+struct elf_prstatus32 -+ { -+ struct elf_siginfo pr_info; /* Info associated with signal. */ -+ short int pr_cursig; /* Current signal. */ -+ unsigned int pr_sigpend; /* Set of pending signals. */ -+ unsigned int pr_sighold; /* Set of held signals. */ -+ __pid_t pr_pid; -+ __pid_t pr_ppid; -+ __pid_t pr_pgrp; -+ __pid_t pr_sid; -+ struct -+ { -+ int tv_sec, tv_usec; -+ } pr_utime, /* User time. */ -+ pr_stime, /* System time. */ -+ pr_cutime, /* Cumulative user time. */ -+ pr_cstime; /* Cumulative system time. */ -+ elf_gregset_t32 pr_reg; /* GP registers. */ -+ int pr_fpvalid; /* True if math copro being used. */ -+ }; -+ -+struct elf_prpsinfo32 -+ { -+ char pr_state; /* Numeric process state. */ -+ char pr_sname; /* Char for pr_state. */ -+ char pr_zomb; /* Zombie. */ -+ char pr_nice; /* Nice val. */ -+ unsigned int pr_flag; /* Flags. */ -+ unsigned short int pr_uid; -+ unsigned short int pr_gid; -+ int pr_pid, pr_ppid, pr_pgrp, pr_sid; -+ /* Lots missing */ -+ char pr_fname[16]; /* Filename of executable. */ -+ char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ -+ }; -+ -+typedef elf_gregset_t32 prgregset32_t; -+typedef elf_fpregset_t32 prfpregset32_t; -+ -+typedef struct elf_prstatus32 prstatus32_t; -+typedef struct elf_prpsinfo32 prpsinfo32_t; -+ -+#endif /* sparc64 */ - - __END_DECLS - diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc32-semctl.patch b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc32-semctl.patch deleted file mode 100644 index 9017b8bed5d3..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc32-semctl.patch +++ /dev/null @@ -1,209 +0,0 @@ ---- libc/sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c.jj Fri Feb 11 20:44:42 2000 -+++ libc/sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c Thu Apr 25 22:52:00 2002 -@@ -1 +1,205 @@ --#include <sysdeps/unix/sysv/linux/i386/semctl.c> -+/* Semctl for architectures where word sized unions are passed indirectly -+ Copyright (C) 1995, 1997, 1998, 2000, 2002 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include <errno.h> -+#include <stdarg.h> -+#include <sys/sem.h> -+#include <ipc_priv.h> -+ -+#include <sysdep.h> -+#include <string.h> -+#include <sys/syscall.h> -+ -+#include "kernel-features.h" -+#include <shlib-compat.h> -+ -+struct __old_semid_ds -+{ -+ struct __old_ipc_perm sem_perm; /* operation permission struct */ -+ __time_t sem_otime; /* last semop() time */ -+ __time_t sem_ctime; /* last time changed by semctl() */ -+ struct sem *__sembase; /* ptr to first semaphore in array */ -+ struct sem_queue *__sem_pending; /* pending operations */ -+ struct sem_queue *__sem_pending_last; /* last pending operation */ -+ struct sem_undo *__undo; /* ondo requests on this array */ -+ unsigned short int sem_nsems; /* number of semaphores in set */ -+}; -+ -+/* Define a `union semun' suitable for Linux here. */ -+union semun -+{ -+ int val; /* value for SETVAL */ -+ struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */ -+ unsigned short int *array; /* array for GETALL & SETALL */ -+ struct seminfo *__buf; /* buffer for IPC_INFO */ -+}; -+ -+#include <bp-checks.h> -+#include <bp-semctl.h> /* definition of CHECK_SEMCTL needs union semum */ -+ -+#ifdef __NR_getuid32 -+# if __ASSUME_32BITUIDS == 0 -+/* This variable is shared with all files that need to check for 32bit -+ uids. */ -+extern int __libc_missing_32bit_uids; -+# endif -+#endif -+ -+/* Return identifier for array of NSEMS semaphores associated with -+ KEY. */ -+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) -+int __old_semctl (int semid, int semnum, int cmd, ...); -+#endif -+int __new_semctl (int semid, int semnum, int cmd, ...); -+ -+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) -+int -+__old_semctl (int semid, int semnum, int cmd, ...) -+{ -+ union semun arg; -+ va_list ap; -+ -+ /* Get the argument only if required. */ -+ arg.buf = NULL; -+ switch (cmd) -+ { -+ case SETVAL: /* arg.val */ -+ case GETALL: /* arg.array */ -+ case SETALL: -+ case IPC_STAT: /* arg.buf */ -+ case IPC_SET: -+ case SEM_STAT: -+ case IPC_INFO: /* arg.__buf */ -+ case SEM_INFO: -+ va_start (ap, cmd); -+ arg = va_arg (ap, union semun); -+ va_end (ap); -+ break; -+ } -+ -+ return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd, -+ CHECK_SEMCTL (&arg, semid, cmd)); -+} -+compat_symbol (libc, __old_semctl, semctl, GLIBC_2_0); -+#endif -+ -+int -+__new_semctl (int semid, int semnum, int cmd, ...) -+{ -+ union semun arg; -+ va_list ap; -+ -+ /* Get the argument only if required. */ -+ arg.buf = NULL; -+ switch (cmd) -+ { -+ case SETVAL: /* arg.val */ -+ case GETALL: /* arg.array */ -+ case SETALL: -+ case IPC_STAT: /* arg.buf */ -+ case IPC_SET: -+ case SEM_STAT: -+ case IPC_INFO: /* arg.__buf */ -+ case SEM_INFO: -+ va_start (ap, cmd); -+ arg = va_arg (ap, union semun); -+ va_end (ap); -+ break; -+ } -+ -+#if __ASSUME_32BITUIDS > 0 -+ return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd | __IPC_64, -+ CHECK_SEMCTL (&arg, semid, cmd | __IPC_64)); -+#else -+ switch (cmd) { -+ case SEM_STAT: -+ case IPC_STAT: -+ case IPC_SET: -+ break; -+ default: -+ return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd, -+ CHECK_SEMCTL (&arg, semid, cmd)); -+ } -+ -+ { -+ int result; -+ struct __old_semid_ds old; -+ struct semid_ds *buf; -+ -+#ifdef __NR_getuid32 -+ if (__libc_missing_32bit_uids <= 0) -+ { -+ if (__libc_missing_32bit_uids < 0) -+ { -+ int save_errno = errno; -+ -+ /* Test presence of new IPC by testing for getuid32 syscall. */ -+ result = INLINE_SYSCALL (getuid32, 0); -+ if (result == -1 && errno == ENOSYS) -+ __libc_missing_32bit_uids = 1; -+ else -+ __libc_missing_32bit_uids = 0; -+ __set_errno(save_errno); -+ } -+ if (__libc_missing_32bit_uids <= 0) -+ { -+ result = INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd | __IPC_64, -+ CHECK_SEMCTL (&arg, semid, cmd | __IPC_64)); -+ return result; -+ } -+ } -+#endif -+ -+ buf = arg.buf; -+ arg.buf = (struct semid_ds *)&old; -+ if (cmd == IPC_SET) -+ { -+ old.sem_perm.uid = buf->sem_perm.uid; -+ old.sem_perm.gid = buf->sem_perm.gid; -+ old.sem_perm.mode = buf->sem_perm.mode; -+ if (old.sem_perm.uid != buf->sem_perm.uid || -+ old.sem_perm.gid != buf->sem_perm.gid) -+ { -+ __set_errno (EINVAL); -+ return -1; -+ } -+ } -+ result = INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd, -+ CHECK_SEMCTL (&arg, semid, cmd)); -+ if (result != -1 && cmd != IPC_SET) -+ { -+ memset(buf, 0, sizeof(*buf)); -+ buf->sem_perm.__key = old.sem_perm.__key; -+ buf->sem_perm.uid = old.sem_perm.uid; -+ buf->sem_perm.gid = old.sem_perm.gid; -+ buf->sem_perm.cuid = old.sem_perm.cuid; -+ buf->sem_perm.cgid = old.sem_perm.cgid; -+ buf->sem_perm.mode = old.sem_perm.mode; -+ buf->sem_perm.__seq = old.sem_perm.__seq; -+ buf->sem_otime = old.sem_otime; -+ buf->sem_ctime = old.sem_ctime; -+ buf->sem_nsems = old.sem_nsems; -+ } -+ return result; -+ } -+#endif -+} -+ -+versioned_symbol (libc, __new_semctl, semctl, GLIBC_2_2); diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc64-fixups.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc64-fixups.diff deleted file mode 100644 index 181f13c52d49..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sparc64-fixups.diff +++ /dev/null @@ -1,46 +0,0 @@ -#! /bin/sh -e - -# DP: Fix ldconfig so that lib64 searches are implicit. - -if [ $# -ne 2 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; - -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - ---- glibc-2.2.3/elf/ldconfig.c~ Tue Mar 20 11:44:35 2001 -+++ glibc-2.2.3/elf/ldconfig.c Tue Apr 24 18:14:05 2001 -@@ -287,6 +287,26 @@ - dir_entries = entry; - else if (ptr == NULL) - prev->next = entry; -+#ifdef __sparc__ -+#define MSUBDIR "64" -+ if (ptr == NULL) { -+ int si = strlen(entry->path) - strlen(MSUBDIR); -+ if (strcmp (entry->path + (si <= 0 ? 0 : si), MSUBDIR) != 0) { -+ /* Handle subdirectory later. */ -+ struct dir_entry *new_entry; -+ -+ new_entry = xmalloc (sizeof (struct dir_entry)); -+ new_entry->path = xmalloc(strlen(entry->path)+strlen(MSUBDIR)+1); -+ new_entry->flag = entry->flag; -+ new_entry->next = NULL; -+ sprintf(new_entry->path, "%s%s", entry->path, MSUBDIR); -+ if (opt_verbose) -+ printf("Adding implicit multilib directory:\n\t%s\n", new_entry->path); -+ add_single_dir (new_entry, 0); -+ } -+ } -+#undef MSUBDIR -+#endif - } - - /* Add one directory to the list of directories to process. */ diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sunrpc-overflow.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sunrpc-overflow.diff deleted file mode 100644 index eb7e59c0ceb3..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-sunrpc-overflow.diff +++ /dev/null @@ -1,88 +0,0 @@ ---- glibc-2.2.5.orig/malloc/malloc.c Wed Sep 19 05:23:27 2001 -+++ glibc-2.2.5/malloc/malloc.c Tue Aug 13 11:16:26 2002 -@@ -3795,14 +3795,26 @@ - { - arena *ar_ptr; - mchunkptr p, oldtop; -- INTERNAL_SIZE_T sz, csz, oldtopsize; -+ INTERNAL_SIZE_T bytes, sz, csz, oldtopsize; - Void_t* mem; - - #if defined _LIBC || defined MALLOC_HOOKS - __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, __const __malloc_ptr_t)) = - __malloc_hook; -+ -+ /* size_t is unsigned so the behavior on overflow is defined. */ -+ bytes = n * elem_size; -+#define HALF_INTERNAL_SIZE_T \ -+ (((INTERNAL_SIZE_T) 1) << (8 * sizeof (INTERNAL_SIZE_T) / 2)) -+ if (__builtin_expect ((n | elem_size) >= HALF_INTERNAL_SIZE_T, 0)) { -+ if (elem_size != 0 && bytes / elem_size != n) { -+ __set_errno (ENOMEM); -+ return 0; -+ } -+ } -+ - if (hook != NULL) { -- sz = n * elem_size; -+ sz = bytes; - #if defined __GNUC__ && __GNUC__ >= 2 - mem = (*hook)(sz, RETURN_ADDRESS (0)); - #else -@@ -3819,7 +3831,7 @@ - } - #endif - -- if(request2size(n * elem_size, sz)) -+ if(request2size(bytes, sz)) - return 0; - arena_get(ar_ptr, sz); - if(!ar_ptr) -@@ -3862,7 +3874,7 @@ - } - if (p == 0) return 0; - } -- mem = BOUNDED_N(chunk2mem(p), n * elem_size); -+ mem = BOUNDED_N(chunk2mem(p), bytes); - - /* Two optional cases in which clearing not necessary */ - -@@ -4899,9 +4911,9 @@ - { - void *mem; - -- /* Test whether the SIZE argument is valid. It must be a power of -- two multiple of sizeof (void *). */ -- if (size % sizeof (void *) != 0 || (size & (size - 1)) != 0) -+ /* Test whether the ALIGNMENT argument is valid. It must be a power -+ of two multiple of sizeof (void *). */ -+ if (alignment % sizeof (void *) != 0 || (alignment & (alignment - 1)) != 0) - return EINVAL; - - mem = __libc_memalign (alignment, size); -diff -urN glibc-2.2.5.orig/sunrpc/xdr_array.c glibc-2.2.5/sunrpc/xdr_array.c ---- glibc-2.2.5.orig/sunrpc/xdr_array.c Fri Sep 7 13:59:19 2001 -+++ glibc-2.2.5/sunrpc/xdr_array.c Thu Aug 1 16:48:38 2002 -@@ -45,6 +45,7 @@ - #include <rpc/types.h> - #include <rpc/xdr.h> - #include <libintl.h> -+#include <limits.h> - - #ifdef USE_IN_LIBIO - # include <wchar.h> -@@ -81,7 +82,9 @@ - return FALSE; - } - c = *sizep; -- if ((c > maxsize) && (xdrs->x_op != XDR_FREE)) -+ -+ /* Make sure that "c * elsize" doesn't overflow */ -+ if ((c > maxsize || UINT_MAX/elsize < c) && (xdrs->x_op != XDR_FREE)) - { - return FALSE; - } - - - - diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-threadsig.diff b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-threadsig.diff deleted file mode 100644 index 4618113179ad..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5-threadsig.diff +++ /dev/null @@ -1,17 +0,0 @@ -2002-02-17 Andreas Schwab <schwab@suse.de> - -* signals.c (sigwait): Check for old sighandler being SIG_ERR, - not NULL. - ---- linuxthreads/signals.c.~1.23.~ Mon Jan 14 16:16:45 2002 -+++ linuxthreads/signals.c Sun Feb 17 00:51:41 2002 -@@ -198,7 +198,7 @@ - s != __pthread_sig_cancel && - s != __pthread_sig_debug) { - sigdelset(&mask, s); -- if (sighandler[s].old == NULL || -+ if (sighandler[s].old == (arch_sighandler_t) SIG_ERR || - sighandler[s].old == (arch_sighandler_t) SIG_DFL || - sighandler[s].old == (arch_sighandler_t) SIG_IGN) { - sa.sa_handler = pthread_null_sighandler; - diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5.divbyzero.patch b/sys-libs/glibc/files/2.2.5/glibc-2.2.5.divbyzero.patch deleted file mode 100644 index 4dbd2d925af3..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5.divbyzero.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -uNr glibc-2.2.5.orig/iconv/skeleton.c glibc-2.2.5/iconv/skeleton.c ---- glibc-2.2.5.orig/iconv/skeleton.c 2001-07-06 14:54:47.000000000 +1000 -+++ glibc-2.2.5/iconv/skeleton.c 2002-08-09 20:28:32.000000000 +1000 -@@ -193,15 +193,20 @@ - character set we can define RESET_INPUT_BUFFER in a very fast way. */ - #if !defined RESET_INPUT_BUFFER && !defined SAVE_RESET_STATE - # if MIN_NEEDED_FROM == MAX_NEEDED_FROM && MIN_NEEDED_TO == MAX_NEEDED_TO --/* We have to use these `if's here since the compiler cannot know that -- (outbuf - outerr) is always divisible by MIN_NEEDED_TO. */ --# define RESET_INPUT_BUFFER \ -- if (MIN_NEEDED_FROM % MIN_NEEDED_TO == 0) \ -- *inptrp -= (outbuf - outerr) * (MIN_NEEDED_FROM / MIN_NEEDED_TO); \ -- else if (MIN_NEEDED_TO % MIN_NEEDED_FROM == 0) \ -- *inptrp -= (outbuf - outerr) / (MIN_NEEDED_TO / MIN_NEEDED_FROM); \ -- else \ -- *inptrp -= ((outbuf - outerr) / MIN_NEEDED_TO) * MIN_NEEDED_FROM -+/* We have to use these `#if's here since the compiler cannot know that -+ (outbuf - outerr) is always divisible by MIN_NEEDED_TO. We have to -+ use preprocessor arithmetic and no C code because gcc 3.2 complains -+ about division by zero even in obviously dead code. */ -+# if MIN_NEEDED_FROM % MIN_NEEDED_TO == 0 -+# define RESET_INPUT_BUFFER \ -+ *inptrp -= (outbuf - outerr) * (MIN_NEEDED_FROM / MIN_NEEDED_TO) -+# elif MIN_NEEDED_TO % MIN_NEEDED_FROM == 0 -+# define RESET_INPUT_BUFFER \ -+ *inptrp -= (outbuf - outerr) / (MIN_NEEDED_TO / MIN_NEEDED_FROM) -+# else -+# define RESET_INPUT_BUFFER \ -+ *inptrp -= ((outbuf - outerr) / MIN_NEEDED_TO) * MIN_NEEDED_FROM -+# endif - # endif - #endif - diff --git a/sys-libs/glibc/files/2.2.5/glibc-2.2.5.restrict_arr.patch b/sys-libs/glibc/files/2.2.5/glibc-2.2.5.restrict_arr.patch deleted file mode 100644 index fe828bb9a49d..000000000000 --- a/sys-libs/glibc/files/2.2.5/glibc-2.2.5.restrict_arr.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -uNr glibc-2.2.5.orig/posix/regex.h glibc-2.2.5/posix/regex.h ---- glibc-2.2.5.orig/posix/regex.h 2001-07-06 14:55:38.000000000 +1000 -+++ glibc-2.2.5/posix/regex.h 2002-08-09 20:06:19.000000000 +1000 -@@ -529,10 +529,14 @@ - # endif - # endif - #endif --/* For now unconditionally define __restrict_arr to expand to nothing. -- Ideally we would have a test for the compiler which allows defining -- it to restrict. */ --#define __restrict_arr -+/* gcc 3.1 and up support the [restrict] syntax. */ -+#ifndef __restrict_arr -+# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) -+# define __restrict_arr __restrict -+# else -+# define __restrict_arr -+# endif -+#endif - - /* POSIX compatibility. */ - extern int regcomp _RE_ARGS ((regex_t *__restrict __preg, |