aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-02-20 20:21:20 +0000
committerUlrich Drepper <drepper@redhat.com>2004-02-20 20:21:20 +0000
commit33ab3b66dd6a851aef4e607abe3e973e82c7fe81 (patch)
tree42cfe3e35a2ed506fafe49d416992e7ec8edf140 /sysdeps
parent6e21902ab82e353c3701583c4ee688c45dbb78d7 (diff)
downloadglibc-33ab3b66dd6a851aef4e607abe3e973e82c7fe81.zip
glibc-33ab3b66dd6a851aef4e607abe3e973e82c7fe81.tar.gz
glibc-33ab3b66dd6a851aef4e607abe3e973e82c7fe81.tar.bz2
Update.
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Add ulps for the 2003-11-27 atan2 test.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/alpha/dl-machine.h4
-rw-r--r--sysdeps/alpha/dl-sysdep.h41
-rw-r--r--sysdeps/generic/ldsodefs.h12
-rw-r--r--sysdeps/ia64/dl-machine.h4
-rw-r--r--sysdeps/ia64/dl-sysdep.h41
-rw-r--r--sysdeps/powerpc/fpu/bits/mathinline.h6
-rw-r--r--sysdeps/sparc/dl-sysdep.h41
-rw-r--r--sysdeps/sparc/sparc32/dl-machine.h4
-rw-r--r--sysdeps/sparc/sparc32/fpu/libm-test-ulps7
-rw-r--r--sysdeps/sparc/sparc64/dl-machine.h4
10 files changed, 143 insertions, 21 deletions
diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h
index cf96b77..3616fae 100644
--- a/sysdeps/alpha/dl-machine.h
+++ b/sysdeps/alpha/dl-machine.h
@@ -293,10 +293,6 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
strong_alias (_dl_runtime_resolve, _dl_runtime_profile);
#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.
The C function `_dl_start' is the real entry point;
its return value is the user program's entry point. */
diff --git a/sysdeps/alpha/dl-sysdep.h b/sysdeps/alpha/dl-sysdep.h
new file mode 100644
index 0000000..0b4c805
--- /dev/null
+++ b/sysdeps/alpha/dl-sysdep.h
@@ -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 */
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 73d154a..a3d7935 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -469,9 +469,17 @@ rtld_hidden_proto (__libc_stack_end)
/* Parameters passed to the dynamic linker. */
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
-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])
#else
# define rtld_progname _dl_argv[0]
diff --git a/sysdeps/ia64/dl-machine.h b/sysdeps/ia64/dl-machine.h
index 50a8822..ca47752 100644
--- a/sysdeps/ia64/dl-machine.h
+++ b/sysdeps/ia64/dl-machine.h
@@ -272,10 +272,6 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
#define DL_STACK_END(cookie) \
((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.
The C function `_dl_start' is the real entry point;
its return value is the user program's entry point. */
diff --git a/sysdeps/ia64/dl-sysdep.h b/sysdeps/ia64/dl-sysdep.h
new file mode 100644
index 0000000..352bb3b
--- /dev/null
+++ b/sysdeps/ia64/dl-sysdep.h
@@ -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 */
diff --git a/sysdeps/powerpc/fpu/bits/mathinline.h b/sysdeps/powerpc/fpu/bits/mathinline.h
index 34309c1..dcd506d 100644
--- a/sysdeps/powerpc/fpu/bits/mathinline.h
+++ b/sysdeps/powerpc/fpu/bits/mathinline.h
@@ -1,5 +1,6 @@
/* 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.
The GNU C Library is free software; you can redistribute it and/or
@@ -58,6 +59,8 @@
#endif /* __cplusplus */
#ifdef __USE_ISOC99
+
+# ifndef __powerpc64__
__MATH_INLINE long int lrint (double __x) __THROW;
__MATH_INLINE long int
lrint (double __x) __THROW
@@ -81,6 +84,7 @@ lrintf (float __x) __THROW
__asm__ ("fctiw %0,%1" : "=f"(__u.__d) : "f"(__x));
return __u.__ll[1];
}
+# endif
__MATH_INLINE double fdim (double __x, double __y) __THROW;
__MATH_INLINE double
diff --git a/sysdeps/sparc/dl-sysdep.h b/sysdeps/sparc/dl-sysdep.h
new file mode 100644
index 0000000..eb6a788
--- /dev/null
+++ b/sysdeps/sparc/dl-sysdep.h
@@ -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 */
diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h
index 70ba0ae..c2a5026 100644
--- a/sysdeps/sparc/sparc32/dl-machine.h
+++ b/sysdeps/sparc/sparc32/dl-machine.h
@@ -253,10 +253,6 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
#define DL_STACK_END(cookie) \
((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.
The C function `_dl_start' is the real entry point;
its return value is the user program's entry point. */
diff --git a/sysdeps/sparc/sparc32/fpu/libm-test-ulps b/sysdeps/sparc/sparc32/fpu/libm-test-ulps
index 73172b4..765ddc5 100644
--- a/sysdeps/sparc/sparc32/fpu/libm-test-ulps
+++ b/sysdeps/sparc/sparc32/fpu/libm-test-ulps
@@ -10,6 +10,9 @@ ifloat: 3
Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772":
float: 1
ifloat: 1
+Test "atan2 (-0.00756827042671106339, -.001792735857538728036) == -1.80338464113663849327153994380":
+float: 6
+ifloat: 6
# atanh
Test "atanh (0.75) == 0.972955074527656652552676371721589865":
@@ -640,8 +643,8 @@ idouble: 1
# Maximal error of functions:
Function: "atan2":
-float: 3
-ifloat: 3
+float: 6
+ifloat: 6
Function: "atanh":
float: 1
diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h
index b40d2fb..ff7ea8a 100644
--- a/sysdeps/sparc/sparc64/dl-machine.h
+++ b/sysdeps/sparc/sparc64/dl-machine.h
@@ -671,10 +671,6 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
#define DL_STACK_END(cookie) \
((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.
The C function `_dl_start' is the real entry point;
its return value is the user program's entry point. */