aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-05-28 21:19:35 +0000
committerUlrich Drepper <drepper@redhat.com>2004-05-28 21:19:35 +0000
commitf2bfeadf7200d607606d53ef5e72d301aac1cf58 (patch)
treeb1499ddf047cf6e357864abb417383a4d768fb63
parent3dbfd8117c2d109b63e5bec1e4952aab40d19660 (diff)
downloadglibc-f2bfeadf7200d607606d53ef5e72d301aac1cf58.tar
glibc-f2bfeadf7200d607606d53ef5e72d301aac1cf58.tar.gz
glibc-f2bfeadf7200d607606d53ef5e72d301aac1cf58.tar.bz2
glibc-f2bfeadf7200d607606d53ef5e72d301aac1cf58.zip
Update.
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.
-rw-r--r--ChangeLog15
-rwxr-xr-xsysdeps/powerpc/configure38
-rw-r--r--sysdeps/powerpc/configure.in21
-rw-r--r--sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S1
-rw-r--r--sysdeps/powerpc/powerpc32/fpu/setjmp-common.S2
-rw-r--r--sysdeps/powerpc/powerpc64/__longjmp-common.S1
-rw-r--r--sysdeps/powerpc/powerpc64/setjmp-common.S1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S1
13 files changed, 84 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 78d1b53aa7..4d1c14340e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+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
diff --git a/sysdeps/powerpc/configure b/sysdeps/powerpc/configure
new file mode 100755
index 0000000000..07e3d091b1
--- /dev/null
+++ b/sysdeps/powerpc/configure
@@ -0,0 +1,38 @@
+# 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
diff --git a/sysdeps/powerpc/configure.in b/sysdeps/powerpc/configure.in
new file mode 100644
index 0000000000..28cc85934d
--- /dev/null
+++ b/sysdeps/powerpc/configure.in
@@ -0,0 +1,21 @@
+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
diff --git a/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S b/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
index dbb28aef21..b61e127a99 100644
--- a/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
+++ b/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
@@ -28,6 +28,7 @@
#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__
diff --git a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
index 6f63512e61..796d24f25c 100644
--- a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
+++ b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
@@ -28,7 +28,7 @@
#include <bp-sym.h>
#include <bp-asm.h>
-
+ .machine "altivec"
ENTRY (BP_SYM (__sigsetjmp))
CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
diff --git a/sysdeps/powerpc/powerpc64/__longjmp-common.S b/sysdeps/powerpc/powerpc64/__longjmp-common.S
index 0e2f0d580f..b6a2b79e55 100644
--- a/sysdeps/powerpc/powerpc64/__longjmp-common.S
+++ b/sysdeps/powerpc/powerpc64/__longjmp-common.S
@@ -40,6 +40,7 @@
.section ".text"
#endif
+ .machine "altivec"
ENTRY (BP_SYM (__longjmp))
CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
#ifndef __NO_VMX__
diff --git a/sysdeps/powerpc/powerpc64/setjmp-common.S b/sysdeps/powerpc/powerpc64/setjmp-common.S
index 85c840348d..99b181dfe4 100644
--- a/sysdeps/powerpc/powerpc64/setjmp-common.S
+++ b/sysdeps/powerpc/powerpc64/setjmp-common.S
@@ -39,6 +39,7 @@
.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)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
index b7a0baa45d..447a18b2c7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
@@ -25,6 +25,7 @@
#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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
index fb9f1dc2ad..8d31326875 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
@@ -25,6 +25,7 @@
#include <asm/ptrace.h>
#include "ucontext_i.h"
+ .machine "altivec"
ENTRY(__setcontext)
mflr r0
stwu r1,-16(r1)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
index bd6ced4e1a..9d4c9bc1f6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
@@ -25,6 +25,7 @@
#include <asm/ptrace.h>
#include "ucontext_i.h"
+ .machine "altivec"
ENTRY(__swapcontext)
/* Save the current context */
stw r3,_FRAME_PARM_SAVE1(r1)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
index 6a0e1e559a..9deded79c7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
@@ -165,6 +165,7 @@ compat_symbol (libc, __novec_getcontext, getcontext, GLIBC_2_3)
#endif
.section ".text"
+ .machine "altivec"
ENTRY(__getcontext)
#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
std r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
index b2675f0928..a07a750ec7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
@@ -192,6 +192,7 @@ compat_symbol (libc, __novec_setcontext, setcontext, GLIBC_2_3)
#endif
.section ".text"
+ .machine "altivec"
ENTRY(__setcontext)
#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
mflr r0
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
index 660493984d..0f978512d4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
@@ -287,6 +287,7 @@ compat_symbol (libc, __novec_swapcontext, swapcontext, GLIBC_2_3)
#endif
.section ".text"
+ .machine "altivec"
ENTRY(__swapcontext)
#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
std r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)