diff options
author | Jon Nall <nall@gentoo.org> | 2002-10-30 02:44:58 +0000 |
---|---|---|
committer | Jon Nall <nall@gentoo.org> | 2002-10-30 02:44:58 +0000 |
commit | 14bdb1ec06f158de5121559a8412a5b27a56d45f (patch) | |
tree | 1e45f81aca3e2d0456f5b476239c0d06c1f8d5cd /sys-libs | |
parent | Initial commit of Aladdin Stuffit into gentoo CVS (diff) | |
download | historical-14bdb1ec06f158de5121559a8412a5b27a56d45f.tar.gz historical-14bdb1ec06f158de5121559a8412a5b27a56d45f.tar.bz2 historical-14bdb1ec06f158de5121559a8412a5b27a56d45f.zip |
Added patches for sqrtl and semctl on PPC. The former closes bug #9796
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/glibc/ChangeLog | 7 | ||||
-rw-r--r-- | sys-libs/glibc/files/2.2.5/glibc-2.2.5-ppc-semctl.diff | 56 | ||||
-rw-r--r-- | sys-libs/glibc/files/2.2.5/glibc-2.2.5-ppc-sqrtl.diff | 19 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.2.5-r7.ebuild | 15 |
4 files changed, 95 insertions, 2 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog index 31fcf3e13379..f7967c28de98 100644 --- a/sys-libs/glibc/ChangeLog +++ b/sys-libs/glibc/ChangeLog @@ -1,6 +1,6 @@ # ChangeLog for sys-libs/glibc # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.22 2002/10/29 09:17:34 seemant Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.23 2002/10/30 02:44:58 nall Exp $ *glibc-2.3.1-r1 (26 Oct 2002) @@ -15,6 +15,11 @@ *glibc-2.2.5-r7 (13 Oct 2002) + 29 Oct 2002; Jon Nall <nall@gentoo.org> glibc-2.2.5-r7.ebuild : + + Added sqrtl patch for ppc. This closes bug #9796. Also added semctl + patch for ppc. + 29 Oct 2002; Seemant Kulleen <seemant@gentoo.org> glibc-2.2.5-r7.ebuild : Added semctl patch for sparc. Thanks to nall <nall@gentoo.org> for 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 new file mode 100644 index 000000000000..3e42db95b972 --- /dev/null +++ b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-ppc-semctl.diff @@ -0,0 +1,56 @@ +--- 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 new file mode 100644 index 000000000000..ed8c3b40550a --- /dev/null +++ b/sys-libs/glibc/files/2.2.5/glibc-2.2.5-ppc-sqrtl.diff @@ -0,0 +1,19 @@ +--- 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/glibc-2.2.5-r7.ebuild b/sys-libs/glibc/glibc-2.2.5-r7.ebuild index c8b3d4987d58..39fcc529a8c6 100644 --- a/sys-libs/glibc/glibc-2.2.5-r7.ebuild +++ b/sys-libs/glibc/glibc-2.2.5-r7.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.2.5-r7.ebuild,v 1.19 2002/10/29 09:17:34 seemant Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.2.5-r7.ebuild,v 1.20 2002/10/30 02:44:58 nall Exp $ IUSE="nls pic build" @@ -99,6 +99,19 @@ src_unpack() { einfo "Applying divdi3 patch..." cd ${S}; patch -p1 < ${FILESDIR}/${PV}/${P}-divdi3.diff > /dev/null || die fi + + if [ "${ARCH}" = "ppc" ]; then + # This patch fixes the absence of sqrtl on PPC + # http://sources.redhat.com/ml/libc-hacker/2002-05/msg00012.html + einfo "Applying ppc-sqrtl patch..." + cd ${S}; patch -p0 < ${FILESDIR}/${PV}/${P}-ppc-sqrtl.diff > /dev/null || die + + # This patch fixes a SIGSEGV in semctl's va_arg processing + # http://sources.redhat.com/ml/libc-alpha/2002-05/msg00065.html + einfo "Applying ppc-semctl patch..." + cd ${S}; patch -p0 < ${FILESDIR}/${PV}/${P}-ppc-semctl.diff > /dev/null || die + fi + # Some gcc-3.1.1 fixes. This works fine for other versions of gcc as well, # and should generally be ok, as it just fixes define order that causes scope |