+2004-05-28 Steven Munroe <sjmunroe@us.ibm.com>
+
+ * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Add .machine
+ "altivec" to enable VMX instructions.
+ * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
+ * sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
+ * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
+
+
2004-05-27 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/fpu/bits/mathinline.h (__expm1_code): Define using
--- /dev/null
+# This file is generated from configure.in by Autoconf. DO NOT EDIT!
+ # Local configure fragment for sysdeps/powerpc.
+
+# Accept binutils which knows about ".machine".
+echo "$as_me:$LINENO: checking for .machine support" >&5
+echo $ECHO_N "checking for .machine support... $ECHO_C" >&6
+if test "${libc_cv_ppc_machine+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat > conftest.s <<\EOF
+ .machine "altivec"
+ blr
+EOF
+if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ libc_cv_ppc_machine=yes
+else
+ libc_cv_ppc_machine=no
+fi
+rm -f conftest*
+fi
+echo "$as_me:$LINENO: result: $libc_cv_ppc_machine" >&5
+echo "${ECHO_T}$libc_cv_ppc_machine" >&6
+if test $libc_cv_ppc_machine != yes; then
+ { { echo "$as_me:$LINENO: error:
+*** A binutils version which can handle
+*** .machine \"altivec\"
+*** is needed." >&5
+echo "$as_me: error:
+*** A binutils version which can handle
+*** .machine \"altivec\"
+*** is needed." >&2;}
+ { (exit 1); exit 1; }; }
+fi
--- /dev/null
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/powerpc.
+
+# Accept binutils which knows about ".machine".
+AC_CACHE_CHECK(for .machine support, libc_cv_ppc_machine, [dnl
+cat > conftest.s <<\EOF
+ .machine "altivec"
+ blr
+EOF
+if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
+ libc_cv_ppc_machine=yes
+else
+ libc_cv_ppc_machine=no
+fi
+rm -f conftest*])
+if test $libc_cv_ppc_machine != yes; then
+ AC_MSG_ERROR([
+*** A binutils version which can handle
+*** .machine "altivec"
+*** is needed.])
+fi
#include <bp-sym.h>
#include <bp-asm.h>
+ .machine "altivec"
ENTRY (BP_SYM (__longjmp))
CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
#ifndef __NO_VMX__
#include <bp-sym.h>
#include <bp-asm.h>
-
+ .machine "altivec"
ENTRY (BP_SYM (__sigsetjmp))
CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
.section ".text"
#endif
+ .machine "altivec"
ENTRY (BP_SYM (__longjmp))
CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
#ifndef __NO_VMX__
.section ".text"
#endif
+ .machine "altivec"
ENTRY (BP_SYM (__sigsetjmp))
CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
std r1,(JB_GPR1*8)(3)
#include <asm/ptrace.h>
#include "ucontext_i.h"
+ .machine "altivec"
ENTRY(__getcontext)
stw r3,_FRAME_PARM_SAVE1(r1)
addi r3,r3,_UC_REG_SPACE+12
#include <asm/ptrace.h>
#include "ucontext_i.h"
+ .machine "altivec"
ENTRY(__setcontext)
mflr r0
stwu r1,-16(r1)
#include <asm/ptrace.h>
#include "ucontext_i.h"
+ .machine "altivec"
ENTRY(__swapcontext)
/* Save the current context */
stw r3,_FRAME_PARM_SAVE1(r1)
#endif
.section ".text"
+ .machine "altivec"
ENTRY(__getcontext)
#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
std r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
#endif
.section ".text"
+ .machine "altivec"
ENTRY(__setcontext)
#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
mflr r0
#endif
.section ".text"
+ .machine "altivec"
ENTRY(__swapcontext)
#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
std r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)