diff options
author | 2004-06-16 15:36:27 +0000 | |
---|---|---|
committer | 2004-06-16 15:36:27 +0000 | |
commit | c49e0eff7e294eef150a808ab06e1db0ac6e494d (patch) | |
tree | 994d58832806715f796c67c274dd830674fb8641 /sys-libs | |
parent | Add jabber and ssl use flags with deps - bug 52277 (Manifest recommit) (diff) | |
download | gentoo-2-c49e0eff7e294eef150a808ab06e1db0ac6e494d.tar.gz gentoo-2-c49e0eff7e294eef150a808ab06e1db0ac6e494d.tar.bz2 gentoo-2-c49e0eff7e294eef150a808ab06e1db0ac6e494d.zip |
Altivec nptl fix
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/glibc/ChangeLog | 6 | ||||
-rw-r--r-- | sys-libs/glibc/files/2.3.4/glibc-2.3.4-nptl-altivec.patch | 229 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.4.20040605.ebuild | 8 |
3 files changed, 241 insertions, 2 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog index 552767095464..3cdf0ecea7bd 100644 --- a/sys-libs/glibc/ChangeLog +++ b/sys-libs/glibc/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for sys-libs/glibc # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.190 2004/06/14 02:02:58 lv Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.191 2004/06/16 15:36:27 lu_zero Exp $ + + 16 Jun 2004; Luca Barbato <lu_zero@gentoo.org> + +files/2.3.4/glibc-2.3.4-nptl-altivec.patch, glibc-2.3.4.20040605.ebuild: + Added a patch for ppc, pending some tests 13 Jun 2004; Travis Tilley <lv@gentoo.org> +files/2.3.4/glibc-2.3.4-hardened-sysdep-shared.patch, diff --git a/sys-libs/glibc/files/2.3.4/glibc-2.3.4-nptl-altivec.patch b/sys-libs/glibc/files/2.3.4/glibc-2.3.4-nptl-altivec.patch new file mode 100644 index 000000000000..8ddc8afdd165 --- /dev/null +++ b/sys-libs/glibc/files/2.3.4/glibc-2.3.4-nptl-altivec.patch @@ -0,0 +1,229 @@ +diff -urN libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S libc23/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S +--- libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S 2004-05-28 16:19:18.000000000 -0500 ++++ libc23/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S 2004-06-14 19:28:43.131988368 -0500 +@@ -187,8 +187,8 @@ + addi r9,r9,32 + + stvx v18,0,r10 +- stvx v11,0,r9 +- addi r19,r10,32 ++ stvx v19,0,r9 ++ addi r10,r10,32 + addi r9,r9,32 + + stvx v20,0,r10 +@@ -221,11 +221,6 @@ + addi r10,r10,32 + addi r9,r9,32 + +- stvx v10,0,r10 +- stvx v11,0,r9 +- addi r10,r10,32 +- addi r9,r9,32 +- + mfvscr v0 + mfspr r0,VRSAVE + stvx v0,0,r10 +diff -urN libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S libc23/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S +--- libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S 2004-05-28 16:19:18.000000000 -0500 ++++ libc23/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S 2004-06-14 19:36:33.639954472 -0500 +@@ -133,8 +133,8 @@ + addi r9,r9,32 + + lvx v18,0,r10 +- lvx v11,0,r9 +- addi r19,r10,32 ++ lvx v19,0,r9 ++ addi r10,r10,32 + addi r9,r9,32 + + lvx v20,0,r10 +diff -urN libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S libc23/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S +--- libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S 2004-05-28 16:19:18.000000000 -0500 ++++ libc23/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S 2004-06-14 19:39:49.580990280 -0500 +@@ -189,8 +189,8 @@ + addi r9,r9,32 + + stvx v18,0,r10 +- stvx v11,0,r9 +- addi r19,r10,32 ++ stvx v19,0,r9 ++ addi r10,r10,32 + addi r9,r9,32 + + stvx v20,0,r10 +@@ -223,11 +223,6 @@ + addi r10,r10,32 + addi r9,r9,32 + +- stvx v10,0,r10 +- stvx v11,0,r9 +- addi r10,r10,32 +- addi r9,r9,32 +- + mfvscr v0 + mfspr r0,VRSAVE + stvx v0,0,r10 +@@ -339,8 +334,8 @@ + addi r9,r9,32 + + lvx v18,0,r10 +- lvx v11,0,r9 +- addi r19,r10,32 ++ lvx v19,0,r9 ++ addi r10,r10,32 + addi r9,r9,32 + + lvx v20,0,r10 +diff -urN libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S libc23/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S +--- libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S 2004-05-28 16:19:18.000000000 -0500 ++++ libc23/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S 2004-06-14 19:27:34.406052600 -0500 +@@ -268,21 +268,22 @@ + stfd fp0,(SIGCONTEXT_FP_REGS+(32*8))(r3) + + ld r5,.LC__dl_hwcap@toc(r2) +- li r10,0 + # ifdef SHARED + /* Load _rtld-global._dl_hwcap. */ + ld r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5) + # else + ld r5,0(r5) /* Load extern _dl_hwcap. */ +-# endif +- andis. r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16) +- beq L(has_no_vec) +- ++# endif + la r10,(SIGCONTEXT_V_RESERVE+8)(r3) + la r9,(SIGCONTEXT_V_RESERVE+24)(r3) ++ ++ andis. r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16) ++ + clrrdi r10,r10,4 ++ beq L(has_no_vec) + clrrdi r9,r9,4 +- ++ mr r5,r10 /* Capture *v_regs value in r5. */ ++ + stvx v0,0,r10 + stvx v1,0,r9 + addi r10,r10,32 +@@ -329,8 +330,8 @@ + addi r9,r9,32 + + stvx v18,0,r10 +- stvx v11,0,r9 +- addi r19,r10,32 ++ stvx v19,0,r9 ++ addi r10,r10,32 + addi r9,r9,32 + + stvx v20,0,r10 +@@ -363,11 +364,6 @@ + addi r10,r10,32 + addi r9,r9,32 + +- stvx v10,0,r10 +- stvx v11,0,r9 +- addi r10,r10,32 +- addi r9,r9,32 +- + mfvscr v0 + mfspr r0,VRSAVE + stvx v0,0,r10 +@@ -378,7 +374,7 @@ + Store either a NULL or a quadword aligned pointer to the Vector register + array into *v_regs. + */ +- std r10,(SIGCONTEXT_V_REGS_PTR)(r3) ++ std r5,(SIGCONTEXT_V_REGS_PTR)(r3) + + addi r5,r3,UCONTEXT_SIGMASK + li r4,0 +diff -urN libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S libc23/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S +--- libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S 2004-05-28 16:19:18.000000000 -0500 ++++ libc23/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S 2004-06-09 11:28:37.000000000 -0500 +@@ -293,8 +293,8 @@ + addi r9,r9,32 + + lvx v18,0,r10 +- lvx v11,0,r9 +- addi r19,r10,32 ++ lvx v19,0,r9 ++ addi r10,r10,32 + addi r9,r9,32 + + lvx v20,0,r10 +diff -urN libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S libc23/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S +--- libc23-cvstip-20040607/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S 2004-05-28 16:19:18.000000000 -0500 ++++ libc23/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S 2004-06-14 19:28:05.164035488 -0500 +@@ -391,20 +391,22 @@ + stfd fp0,(SIGCONTEXT_FP_REGS+(32*8))(r3) + + ld r8,.LC__dl_hwcap@toc(r2) +- li r10,0 + #ifdef SHARED + /* Load _rtld-global._dl_hwcap. */ + ld r8,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r8) + #else + ld r8,0(r8) /* Load extern _dl_hwcap. */ + #endif +- andis. r8,r8,(PPC_FEATURE_HAS_ALTIVEC >> 16) +- beq L(has_no_vec) +- + la r10,(SIGCONTEXT_V_RESERVE+8)(r3) + la r9,(SIGCONTEXT_V_RESERVE+24)(r3) ++ ++ andis. r8,r8,(PPC_FEATURE_HAS_ALTIVEC >> 16) ++ + clrrdi r10,r10,4 ++ beq L(has_no_vec) ++ + clrrdi r9,r9,4 ++ mr r8,r10 /* Capture *v_regs value in r5. */ + + stvx v0,0,r10 + stvx v1,0,r9 +@@ -452,8 +454,8 @@ + addi r9,r9,32 + + stvx v18,0,r10 +- stvx v11,0,r9 +- addi r19,r10,32 ++ stvx v19,0,r9 ++ addi r10,r10,32 + addi r9,r9,32 + + stvx v20,0,r10 +@@ -486,11 +488,6 @@ + addi r10,r10,32 + addi r9,r9,32 + +- stvx v10,0,r10 +- stvx v11,0,r9 +- addi r10,r10,32 +- addi r9,r9,32 +- + mfvscr v0 + mfspr r0,VRSAVE + stvx v0,0,r10 +@@ -501,7 +498,7 @@ + Store either a NULL or a quadword aligned pointer to the Vector register + array into *v_regs. + */ +- std r10,(SIGCONTEXT_V_REGS_PTR)(r3) ++ std r8,(SIGCONTEXT_V_REGS_PTR)(r3) + + mr r31,r4 + addi r5,r3,UCONTEXT_SIGMASK +@@ -596,8 +593,8 @@ + addi r9,r9,32 + + lvx v18,0,r10 +- lvx v11,0,r9 +- addi r19,r10,32 ++ lvx v19,0,r9 ++ addi r10,r10,32 + addi r9,r9,32 + + lvx v20,0,r10 + diff --git a/sys-libs/glibc/glibc-2.3.4.20040605.ebuild b/sys-libs/glibc/glibc-2.3.4.20040605.ebuild index c9203e4ba8cd..9044d1e22469 100644 --- a/sys-libs/glibc/glibc-2.3.4.20040605.ebuild +++ b/sys-libs/glibc/glibc-2.3.4.20040605.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20040605.ebuild,v 1.10 2004/06/12 21:04:52 tgall Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20040605.ebuild,v 1.11 2004/06/16 15:36:27 lu_zero Exp $ IUSE="nls pic build nptl erandom hardened makecheck multilib" @@ -312,6 +312,12 @@ src_unpack() { use multilib || epatch ${FILESDIR}/2.3.3/mips-nolib3264.diff fi + if [ "${ARCH}" = "ppc" -o "${ARCH}" = "ppc64" ] + then + cd ${S} + epatch ${FILESDIR}/2.3.4/glibc-2.3.4-nptl-altivec.patch + fi + if [ "${ARCH}" = "alpha" ] then cd ${S} |