aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--nptl/ChangeLog4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/Makefile4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstack.c31
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstackaddr.c30
-rw-r--r--sysdeps/ia64/fpu/libm-test-ulps33
6 files changed, 85 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index f4f02f504d..857fba22d3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2003-03-04 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/ia64/fpu/libm-test-ulps: Regenerated.
+
2003-03-04 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/clone.S: Add support for the new
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index daa6b4e46c..ff0fbefb45 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,9 @@
2003-03-04 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/unix/sysv/linux/x86_64/Makefile: New file.
+ * sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstack.c: New file.
+ * sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstackaddr.c: New file.
+
* pthread_attr_setstack.c: Moved to...
* sysdeps/pthread/pthread_attr_setstack.c: ...here. New file.
* pthread_attr_setstackaddr.c: Moved to...
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile b/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile
new file mode 100644
index 0000000000..c73c2b6c26
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile
@@ -0,0 +1,4 @@
+ifeq ($(subdir),nptl)
+# We need to make sure that stack memory is allocated in the low 4GB.
+CFLAGS-pthread_create.c += -DARCH_MAP_FLAGS=MAP_32BIT
+endif
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstack.c b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstack.c
new file mode 100644
index 0000000000..7b9f094033
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstack.c
@@ -0,0 +1,31 @@
+/* Copyright (C) 2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <inttypes.h>
+
+/* For Linux/x86-64 we have one extra requirement: the stack must be
+ in the first 4GB. Otherwise the segment register base address is
+ not wide enough. */
+#define EXTRA_PARAM_CHECKS \
+ if ((uintptr_t) stackaddr > 0x100000000ul \
+ || (uintptr_t) stackaddr + stacksize > 0x100000000ul) \
+ /* We cannot handle that stack address. */ \
+ return EINVAL
+
+#include <nptl/sysdeps/pthread/pthread_attr_setstack.c>
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstackaddr.c b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstackaddr.c
new file mode 100644
index 0000000000..e95f7dff11
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstackaddr.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <inttypes.h>
+
+/* For Linux/x86-64 we have one extra requirement: the stack must be
+ in the first 4GB. Otherwise the segment register base address is
+ not wide enough. */
+#define EXTRA_PARAM_CHECKS \
+ if ((uintptr_t) stackaddr > 0x100000000ul) \
+ /* We cannot handle that stack address. */ \
+ return EINVAL
+
+#include <nptl/sysdeps/pthread/pthread_attr_setstackaddr.c>
diff --git a/sysdeps/ia64/fpu/libm-test-ulps b/sysdeps/ia64/fpu/libm-test-ulps
index 419e56e435..bdb3f7fc63 100644
--- a/sysdeps/ia64/fpu/libm-test-ulps
+++ b/sysdeps/ia64/fpu/libm-test-ulps
@@ -1,10 +1,5 @@
# Begin of automatic generation
-# acos
-Test "acos (0.0625) == 1.50825556499840522843072005474337068":
-ildouble: 622
-ldouble: 622
-
# cacos
Test "Imaginary part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i":
float: 1
@@ -122,8 +117,6 @@ ifloat: 1
Test "Real part of: cexp (0.75 + 1.25 i) == 0.667537446429131586942201977015932112 + 2.00900045494094876258347228145863909 i":
float: 1
ifloat: 1
-ildouble: 202
-ldouble: 202
Test "Imaginary part of: cexp (0.75 + 1.25 i) == 0.667537446429131586942201977015932112 + 2.00900045494094876258347228145863909 i":
ildouble: 1
ldouble: 1
@@ -223,6 +216,9 @@ idouble: 1
ifloat: 1
# cos
+Test "cos (0.80190127184058835) == 0.69534156199418473":
+double: 1
+idouble: 1
Test "cos (M_PI_6l * 2.0) == 0.5":
double: 1
float: 1
@@ -247,8 +243,6 @@ ldouble: 1
Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
float: 1
ifloat: 1
-ildouble: 587
-ldouble: 587
Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
float: 1
ifloat: 1
@@ -259,8 +253,8 @@ double: 1
float: 4
idouble: 1
ifloat: 4
-ildouble: 768
-ldouble: 768
+ildouble: 1
+ldouble: 1
Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i) == 0.117506293914473555420279832210420483 + 0.346552747708338676483025352060418001 i":
ildouble: 1
ldouble: 1
@@ -272,8 +266,8 @@ double: 2
float: 3
idouble: 2
ifloat: 3
-ildouble: 370
-ldouble: 370
+ildouble: 3
+ldouble: 3
Test "Real part of: cpow (2 + 0 i, 10 + 0 i) == 1024.0 + 0.0 i":
ildouble: 1
ldouble: 1
@@ -610,6 +604,9 @@ ildouble: 1
ldouble: 1
# sincos
+Test "sincos (0.80190127184058835, &sin_res, &cos_res) puts 0.69534156199418473 in cos_res":
+double: 1
+idouble: 1
Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
double: 1
float: 1
@@ -794,10 +791,6 @@ double: 1
idouble: 1
# Maximal error of functions:
-Function: "acos":
-ildouble: 622
-ldouble: 622
-
Function: Imaginary part of "cacos":
float: 1
ifloat: 1
@@ -889,8 +882,6 @@ ldouble: 1
Function: Real part of "cexp":
float: 1
ifloat: 1
-ildouble: 202
-ldouble: 202
Function: Imaginary part of "cexp":
float: 1
@@ -933,8 +924,8 @@ double: 2
float: 5
idouble: 2
ifloat: 5
-ildouble: 768
-ldouble: 768
+ildouble: 3
+ldouble: 3
Function: Imaginary part of "cpow":
double: 2