+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
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...
--- /dev/null
+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
--- /dev/null
+/* 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>
--- /dev/null
+/* 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>
# 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
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
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
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
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
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
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
idouble: 1
# Maximal error of functions:
-Function: "acos":
-ildouble: 622
-ldouble: 622
-
Function: Imaginary part of "cacos":
float: 1
ifloat: 1
Function: Real part of "cexp":
float: 1
ifloat: 1
-ildouble: 202
-ldouble: 202
Function: Imaginary part of "cexp":
float: 1
float: 5
idouble: 2
ifloat: 5
-ildouble: 768
-ldouble: 768
+ildouble: 3
+ldouble: 3
Function: Imaginary part of "cpow":
double: 2