* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Add ulps for the
	2003-11-27 atan2 test.
This commit is contained in:
Ulrich Drepper 2004-02-20 20:21:20 +00:00
parent 6e21902ab8
commit 33ab3b66dd
14 changed files with 157 additions and 35 deletions

View File

@ -1,5 +1,8 @@
2004-02-20 Jakub Jelinek <jakub@redhat.com> 2004-02-20 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Add ulps for the
2003-11-27 atan2 test.
* sysdeps/unix/sysv/linux/ia64/dl-sysdep.h (DL_ARGV_NOT_RELRO): Define. * sysdeps/unix/sysv/linux/ia64/dl-sysdep.h (DL_ARGV_NOT_RELRO): Define.
2004-02-10 Steven Munroe <sjmunroe@us.ibm.com> 2004-02-10 Steven Munroe <sjmunroe@us.ibm.com>

View File

@ -1,3 +1,7 @@
2004-02-20 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/dl-sysdep.h (DL_ARGV_NOT_RELRO): Define.
2004-02-19 Andreas Schwab <schwab@suse.de> 2004-02-19 Andreas Schwab <schwab@suse.de>
* sysdeps/pthread/pthread_barrier_wait.c (pthread_barrier_wait): * sysdeps/pthread/pthread_barrier_wait.c (pthread_barrier_wait):

View File

@ -31,12 +31,9 @@ pthread_barrier_wait(barrier_t *barrier)
result = BARRIER_SERIAL_THREAD; result = BARRIER_SERIAL_THREAD;
} else { } else {
event = barrier->curr_event; event = barrier->curr_event;
lll_unlock(barrier->lock);
do { do {
lll_unlock(barrier->lock);
futex_wait(&barrier->curr_event, event) futex_wait(&barrier->curr_event, event)
lll_lock(barrier->lock);
} while (event == barrier->curr_event); } while (event == barrier->curr_event);
} }

View File

@ -55,17 +55,13 @@ pthread_barrier_wait (barrier)
/* The number of the event we are waiting for. The barrier's event /* The number of the event we are waiting for. The barrier's event
number must be bumped before we continue. */ number must be bumped before we continue. */
unsigned int event = ibarrier->curr_event; unsigned int event = ibarrier->curr_event;
/* Before suspending, make the barrier available to others. */
lll_unlock (ibarrier->lock);
/* Wait for the event counter of the barrier to change. */
do do
{ lll_futex_wait (&ibarrier->curr_event, event);
/* Before suspending, make the barrier available to others. */
lll_unlock (ibarrier->lock);
/* Wait for the event counter of the barrier to change. */
lll_futex_wait (&ibarrier->curr_event, event);
/* We are going to access shared data. */
lll_lock (ibarrier->lock);
}
while (event == ibarrier->curr_event); while (event == ibarrier->curr_event);
} }

View File

@ -293,10 +293,6 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
strong_alias (_dl_runtime_resolve, _dl_runtime_profile); strong_alias (_dl_runtime_resolve, _dl_runtime_profile);
#endif #endif
/* _dl_argv cannot be attribute_relro, because _dl_start_user below
might write into it after _dl_start returns. */
#define DL_ARGV_NOT_RELRO 1
/* Initial entry point code for the dynamic linker. /* Initial entry point code for the dynamic linker.
The C function `_dl_start' is the real entry point; The C function `_dl_start' is the real entry point;
its return value is the user program's entry point. */ its return value is the user program's entry point. */

41
sysdeps/alpha/dl-sysdep.h Normal file
View File

@ -0,0 +1,41 @@
/* System-specific settings for dynamic linker code. Alpha version.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
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. */
#ifndef _DL_SYSDEP_H
#define _DL_SYSDEP_H 1
/* This macro must be defined to either 0 or 1.
If 1, then an errno global variable hidden in ld.so will work right with
all the errno-using libc code compiled for ld.so, and there is never a
need to share the errno location with libc. This is appropriate only if
all the libc functions that ld.so uses are called without PLT and always
get the versions linked into ld.so rather than the libc ones. */
#ifdef IS_IN_rtld
# define RTLD_PRIVATE_ERRNO 1
#else
# define RTLD_PRIVATE_ERRNO 0
#endif
/* _dl_argv cannot be attribute_relro, because _dl_start_user
might write into it after _dl_start returns. */
#define DL_ARGV_NOT_RELRO 1
#endif /* dl-sysdep.h */

View File

@ -469,9 +469,17 @@ rtld_hidden_proto (__libc_stack_end)
/* Parameters passed to the dynamic linker. */ /* Parameters passed to the dynamic linker. */
extern int _dl_argc attribute_hidden attribute_relro; extern int _dl_argc attribute_hidden attribute_relro;
extern char **_dl_argv attribute_relro; extern char **_dl_argv
#ifndef DL_ARGV_NOT_RELRO
attribute_relro
#endif
;
#ifdef IS_IN_rtld #ifdef IS_IN_rtld
extern char **_dl_argv_internal attribute_hidden attribute_relro; extern char **_dl_argv_internal attribute_hidden
# ifndef DL_ARGV_NOT_RELRO
attribute_relro
# endif
;
# define rtld_progname (INTUSE(_dl_argv)[0]) # define rtld_progname (INTUSE(_dl_argv)[0])
#else #else
# define rtld_progname _dl_argv[0] # define rtld_progname _dl_argv[0]

View File

@ -272,10 +272,6 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
#define DL_STACK_END(cookie) \ #define DL_STACK_END(cookie) \
((void *) (((long) (cookie)) - 16)) ((void *) (((long) (cookie)) - 16))
/* _dl_argv cannot be attribute_relro, because _dl_start_user below
might write into it after _dl_start returns. */
#define DL_ARGV_NOT_RELRO 1
/* Initial entry point code for the dynamic linker. /* Initial entry point code for the dynamic linker.
The C function `_dl_start' is the real entry point; The C function `_dl_start' is the real entry point;
its return value is the user program's entry point. */ its return value is the user program's entry point. */

41
sysdeps/ia64/dl-sysdep.h Normal file
View File

@ -0,0 +1,41 @@
/* System-specific settings for dynamic linker code. IA-64 version.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
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. */
#ifndef _DL_SYSDEP_H
#define _DL_SYSDEP_H 1
/* This macro must be defined to either 0 or 1.
If 1, then an errno global variable hidden in ld.so will work right with
all the errno-using libc code compiled for ld.so, and there is never a
need to share the errno location with libc. This is appropriate only if
all the libc functions that ld.so uses are called without PLT and always
get the versions linked into ld.so rather than the libc ones. */
#ifdef IS_IN_rtld
# define RTLD_PRIVATE_ERRNO 1
#else
# define RTLD_PRIVATE_ERRNO 0
#endif
/* _dl_argv cannot be attribute_relro, because _dl_start_user
might write into it after _dl_start returns. */
#define DL_ARGV_NOT_RELRO 1
#endif /* dl-sysdep.h */

View File

@ -1,5 +1,6 @@
/* Inline math functions for powerpc. /* Inline math functions for powerpc.
Copyright (C) 1995,1996,1997,1998,1999,2000 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2004
Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -58,6 +59,8 @@
#endif /* __cplusplus */ #endif /* __cplusplus */
#ifdef __USE_ISOC99 #ifdef __USE_ISOC99
# ifndef __powerpc64__
__MATH_INLINE long int lrint (double __x) __THROW; __MATH_INLINE long int lrint (double __x) __THROW;
__MATH_INLINE long int __MATH_INLINE long int
lrint (double __x) __THROW lrint (double __x) __THROW
@ -81,6 +84,7 @@ lrintf (float __x) __THROW
__asm__ ("fctiw %0,%1" : "=f"(__u.__d) : "f"(__x)); __asm__ ("fctiw %0,%1" : "=f"(__u.__d) : "f"(__x));
return __u.__ll[1]; return __u.__ll[1];
} }
# endif
__MATH_INLINE double fdim (double __x, double __y) __THROW; __MATH_INLINE double fdim (double __x, double __y) __THROW;
__MATH_INLINE double __MATH_INLINE double

41
sysdeps/sparc/dl-sysdep.h Normal file
View File

@ -0,0 +1,41 @@
/* System-specific settings for dynamic linker code. SPARC version.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
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. */
#ifndef _DL_SYSDEP_H
#define _DL_SYSDEP_H 1
/* This macro must be defined to either 0 or 1.
If 1, then an errno global variable hidden in ld.so will work right with
all the errno-using libc code compiled for ld.so, and there is never a
need to share the errno location with libc. This is appropriate only if
all the libc functions that ld.so uses are called without PLT and always
get the versions linked into ld.so rather than the libc ones. */
#ifdef IS_IN_rtld
# define RTLD_PRIVATE_ERRNO 1
#else
# define RTLD_PRIVATE_ERRNO 0
#endif
/* _dl_argv cannot be attribute_relro, because _dl_start_user
might write into it after _dl_start returns. */
#define DL_ARGV_NOT_RELRO 1
#endif /* dl-sysdep.h */

View File

@ -253,10 +253,6 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
#define DL_STACK_END(cookie) \ #define DL_STACK_END(cookie) \
((void *) (((long) (cookie)) - (22 - 6) * 4)) ((void *) (((long) (cookie)) - (22 - 6) * 4))
/* _dl_argv cannot be attribute_relro, because _dl_start_user below
might write into it after _dl_start returns. */
#define DL_ARGV_NOT_RELRO 1
/* Initial entry point code for the dynamic linker. /* Initial entry point code for the dynamic linker.
The C function `_dl_start' is the real entry point; The C function `_dl_start' is the real entry point;
its return value is the user program's entry point. */ its return value is the user program's entry point. */

View File

@ -10,6 +10,9 @@ ifloat: 3
Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772": Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772":
float: 1 float: 1
ifloat: 1 ifloat: 1
Test "atan2 (-0.00756827042671106339, -.001792735857538728036) == -1.80338464113663849327153994380":
float: 6
ifloat: 6
# atanh # atanh
Test "atanh (0.75) == 0.972955074527656652552676371721589865": Test "atanh (0.75) == 0.972955074527656652552676371721589865":
@ -640,8 +643,8 @@ idouble: 1
# Maximal error of functions: # Maximal error of functions:
Function: "atan2": Function: "atan2":
float: 3 float: 6
ifloat: 3 ifloat: 6
Function: "atanh": Function: "atanh":
float: 1 float: 1

View File

@ -671,10 +671,6 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
#define DL_STACK_END(cookie) \ #define DL_STACK_END(cookie) \
((void *) (((long) (cookie)) - (22 - 6) * 8 - STACK_BIAS)) ((void *) (((long) (cookie)) - (22 - 6) * 8 - STACK_BIAS))
/* _dl_argv cannot be attribute_relro, because _dl_start_user below
might write into it after _dl_start returns. */
#define DL_ARGV_NOT_RELRO 1
/* Initial entry point code for the dynamic linker. /* Initial entry point code for the dynamic linker.
The C function `_dl_start' is the real entry point; The C function `_dl_start' is the real entry point;
its return value is the user program's entry point. */ its return value is the user program's entry point. */