diff --git a/ChangeLog b/ChangeLog index f4f02f504d..857fba22d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2003-03-04 Jakub Jelinek + + * sysdeps/ia64/fpu/libm-test-ulps: Regenerated. + 2003-03-04 Ulrich Drepper * 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 + * 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 , 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 + +/* 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 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 , 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 + +/* 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 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