aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/s390
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2008-03-24 20:01:15 +0000
committerUlrich Drepper <drepper@redhat.com>2008-03-24 20:01:15 +0000
commit87b9b50f0d4b92248905e95a06a13c513dc45e59 (patch)
tree505dd39121573f328dde7c58e7f07fd460f93330 /sysdeps/s390
parentaf0498dc955f23c4e2eb28b1658ec2e86b4ab069 (diff)
downloadglibc-87b9b50f0d4b92248905e95a06a13c513dc45e59.zip
glibc-87b9b50f0d4b92248905e95a06a13c513dc45e59.tar.gz
glibc-87b9b50f0d4b92248905e95a06a13c513dc45e59.tar.bz2
* sysdeps/s390/fpu/fegetenv.c (fegetenv): Remove PTRACE_PEEKUSER
ptrace call to get the ieee_instruction_pointer from the kernel. * sysdeps/s390/fpu/fesetenv.c (fesetenv): Remove PTRACE_POKEUSER ptrace call to set the ieee_instructtion_pointer. * sysdeps/unix/sysv/linux/s390/sys/user.h (struct _user_regs_struct): Add comment that ieee_instruction_pointer is always 0.
Diffstat (limited to 'sysdeps/s390')
-rw-r--r--sysdeps/s390/fpu/fegetenv.c10
-rw-r--r--sysdeps/s390/fpu/fesetenv.c8
2 files changed, 2 insertions, 16 deletions
diff --git a/sysdeps/s390/fpu/fegetenv.c b/sysdeps/s390/fpu/fegetenv.c
index b35a76a..a244f2c 100644
--- a/sysdeps/s390/fpu/fegetenv.c
+++ b/sysdeps/s390/fpu/fegetenv.c
@@ -1,5 +1,5 @@
/* Store current floating-point environment.
- Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
@@ -28,15 +28,7 @@
int
fegetenv (fenv_t *envp)
{
- /* The S/390 IEEE fpu doesn't keep track of the ieee instruction pointer.
- To get around that the kernel will store the address of the last
- fpu fault to the process structure. This ptrace call reads this value
- from the kernel space. That means the ieee_instruction_pointer is
- only correct after a fpu fault. That's the best we can do, there is
- no way to find out the ieee instruction pointer if there was no fault. */
_FPU_GETCW (envp->fpc);
- envp->ieee_instruction_pointer =
- (void *) ptrace (PTRACE_PEEKUSER, getpid (), PT_IEEE_IP);
/* Success. */
return 0;
diff --git a/sysdeps/s390/fpu/fesetenv.c b/sysdeps/s390/fpu/fesetenv.c
index bb71c95..82555c4 100644
--- a/sysdeps/s390/fpu/fesetenv.c
+++ b/sysdeps/s390/fpu/fesetenv.c
@@ -1,5 +1,5 @@
/* Install given floating-point environment.
- Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
@@ -43,13 +43,7 @@ fesetenv (const fenv_t *envp)
else
env = (*envp);
- /* The S/390 IEEE fpu doesn't have a register for the ieee
- instruction pointer. The operating system is required to keep an
- instruction pointer on a per process base. We read and write this
- value with the ptrace interface. */
_FPU_SETCW (env.fpc);
- ptrace (PTRACE_POKEUSER, getpid (), PT_IEEE_IP,
- env.ieee_instruction_pointer);
/* Success. */
return 0;