aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-11-11 01:05:26 +0000
committerUlrich Drepper <drepper@redhat.com>1999-11-11 01:05:26 +0000
commit7ad6d73d6fb83394f97f93ce9472303117bdf020 (patch)
tree9cfc41b6f8fa75303b62d3ec59a298e7092ab85f
parent1fc6f81397fefb17827fcaf9ab0acd5c6d327dc9 (diff)
downloadglibc-7ad6d73d6fb83394f97f93ce9472303117bdf020.zip
glibc-7ad6d73d6fb83394f97f93ce9472303117bdf020.tar.gz
glibc-7ad6d73d6fb83394f97f93ce9472303117bdf020.tar.bz2
Update.
* math/fenv.h: Include bits/fenvinline.h if optimizing. * sysdeps/powerpc/fpu/bits/fenv.h: Remove inline functions. Moved to.. * sysdeps/powerpc/fpu/bits/fenvinline.h: ...here. New file. * sysdeps/generic/bits/fenv.h: New file. 1999-11-10 Ulrich Drepper <drepper@cygnus.com>
-rw-r--r--ChangeLog7
-rw-r--r--bits/fenvinline.h8
-rw-r--r--linuxthreads_db/ChangeLog6
-rw-r--r--linuxthreads_db/td_ta_map_lwp2thr.c2
-rw-r--r--math/fenv.h6
-rw-r--r--sysdeps/generic/bits/fenvinline.h8
-rw-r--r--sysdeps/powerpc/fpu/bits/fenv.h43
-rw-r--r--sysdeps/powerpc/fpu/bits/fenvinline.h59
8 files changed, 97 insertions, 42 deletions
diff --git a/ChangeLog b/ChangeLog
index fe85575..0d3c331 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
1999-11-10 Ulrich Drepper <drepper@cygnus.com>
+ * math/fenv.h: Include bits/fenvinline.h if optimizing.
+ * sysdeps/powerpc/fpu/bits/fenv.h: Remove inline functions. Moved to..
+ * sysdeps/powerpc/fpu/bits/fenvinline.h: ...here. New file.
+ * sysdeps/generic/bits/fenv.h: New file.
+
+1999-11-10 Ulrich Drepper <drepper@cygnus.com>
+
* misc/tst-efgcvt.c (output_r_error): Remove extra parameter to
printf call.
diff --git a/bits/fenvinline.h b/bits/fenvinline.h
new file mode 100644
index 0000000..42f77b5
--- /dev/null
+++ b/bits/fenvinline.h
@@ -0,0 +1,8 @@
+/* This file provides inline versions of floating-pint environment
+ handling functions. If there were any. */
+
+#ifndef __NO_MATH_INLINES
+
+/* Here is where the code would go. */
+
+#endif
diff --git a/linuxthreads_db/ChangeLog b/linuxthreads_db/ChangeLog
index f450d48..d178e84 100644
--- a/linuxthreads_db/ChangeLog
+++ b/linuxthreads_db/ChangeLog
@@ -1,3 +1,9 @@
+1999-11-10 Ulrich Drepper <drepper@cygnus.com>
+
+ * td_ta_map_lwp2thr.c: If p_pid field is zero, this is before the
+ thread library is initialized and we get the PID from the
+ debugger.
+
1999-11-08 Ulrich Drepper <drepper@cygnus.com>
* td_thr_get_info.c: Make sure ti_lid is never zero.
diff --git a/linuxthreads_db/td_ta_map_lwp2thr.c b/linuxthreads_db/td_ta_map_lwp2thr.c
index f51bc18..0558f63 100644
--- a/linuxthreads_db/td_ta_map_lwp2thr.c
+++ b/linuxthreads_db/td_ta_map_lwp2thr.c
@@ -67,7 +67,7 @@ td_ta_map_lwp2thr (const td_thragent_t *ta, lwpid_t lwpid, td_thrhandle_t *th)
if (ps_pdread (ta->ph, phc[cnt].h_descr, &pds, sizeof_descr) != PS_OK)
return TD_ERR; /* XXX Other error value? */
- if (pds.p_pid == lwpid)
+ if (pds.p_pid ?: ps_getpid (ta->ph) == lwpid)
{
/* Found it. Now fill in the `td_thrhandle_t' object. */
th->th_ta_p = (td_thragent_t *) ta;
diff --git a/math/fenv.h b/math/fenv.h
index 3542837..845b5e6 100644
--- a/math/fenv.h
+++ b/math/fenv.h
@@ -109,6 +109,12 @@ extern int fesetenv (__const fenv_t *__envp) __THROW;
according to saved exceptions. */
extern int feupdateenv (__const fenv_t *__envp) __THROW;
+
+/* Include optimization. */
+#ifdef __OPTIMIZE__
+# include <bits/fenvinline.h>
+#endif
+
__END_DECLS
#endif /* fenv.h */
diff --git a/sysdeps/generic/bits/fenvinline.h b/sysdeps/generic/bits/fenvinline.h
new file mode 100644
index 0000000..42f77b5
--- /dev/null
+++ b/sysdeps/generic/bits/fenvinline.h
@@ -0,0 +1,8 @@
+/* This file provides inline versions of floating-pint environment
+ handling functions. If there were any. */
+
+#ifndef __NO_MATH_INLINES
+
+/* Here is where the code would go. */
+
+#endif
diff --git a/sysdeps/powerpc/fpu/bits/fenv.h b/sysdeps/powerpc/fpu/bits/fenv.h
index 459821f..ea8940e 100644
--- a/sysdeps/powerpc/fpu/bits/fenv.h
+++ b/sysdeps/powerpc/fpu/bits/fenv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999 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
@@ -140,45 +140,6 @@ extern const fenv_t __fe_nonieee_env;
just evaluating this value will set the processor into 'FPU
exceptions imprecise recoverable' mode, which may cause a significant
performance penalty (but have no other visible effect). */
-extern const fenv_t *__fe_nomask_env __P ((void));
+extern const fenv_t *__fe_nomask_env (void);
# define FE_NOMASK_ENV (__fe_nomask_env ())
#endif
-
-#if defined __OPTIMIZE__ && !defined _SOFT_FLOAT
-/* Inline definition for fegetround. */
-# define fegetround() \
- (__extension__ ({ int __fegetround_result; \
- __asm__ ("mcrfs 7,7 ; mfcr %0" \
- : "=r"(__fegetround_result) : : "cr7"); \
- __fegetround_result & 3; }))
-
-/* The weird 'i#*X' constraints on the following suppress a gcc
- warning when __excepts is not a constant. Otherwise, they mean the
- same as just plain 'i'. */
-
-/* Inline definition for feraiseexcept. */
-# define feraiseexcept(__excepts) \
- ((__builtin_constant_p (__excepts) \
- && ((__excepts) & ((__excepts)-1)) == 0 \
- && (__excepts) != FE_INVALID) \
- ? ((__excepts) != 0 \
- ? (__extension__ ({ __asm__ __volatile__ \
- ("mtfsb1 %s0" \
- : : "i#*X"(__builtin_ffs (__excepts))); \
- (void)0; })) \
- : (void)0) \
- : (feraiseexcept) (__excepts))
-
-/* Inline definition for feclearexcept. */
-# define feclearexcept(__excepts) \
- ((__builtin_constant_p (__excepts) \
- && ((__excepts) & ((__excepts)-1)) == 0 \
- && (__excepts) != FE_INVALID) \
- ? ((__excepts) != 0 \
- ? (__extension__ ({ __asm__ __volatile__ \
- ("mtfsb0 %s0" \
- : : "i#*X"(__builtin_ffs (__excepts))); \
- (void)0; })) \
- : (void)0) \
- : (feclearexcept) (__excepts))
-#endif /* __OPTIMIZE__ && !_SOFT_FLOAT */
diff --git a/sysdeps/powerpc/fpu/bits/fenvinline.h b/sysdeps/powerpc/fpu/bits/fenvinline.h
new file mode 100644
index 0000000..6ab3105
--- /dev/null
+++ b/sysdeps/powerpc/fpu/bits/fenvinline.h
@@ -0,0 +1,59 @@
+/* Inline floating-point environment handling functions for powerpc.
+ Copyright (C) 1995, 1996, 1997, 1998, 1999 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 Library General Public License as
+ published by the Free Software Foundation; either version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_MATH_INLINES
+
+/* Inline definition for fegetround. */
+# define fegetround() \
+ (__extension__ ({ int __fegetround_result; \
+ __asm__ ("mcrfs 7,7 ; mfcr %0" \
+ : "=r"(__fegetround_result) : : "cr7"); \
+ __fegetround_result & 3; }))
+
+/* The weird 'i#*X' constraints on the following suppress a gcc
+ warning when __excepts is not a constant. Otherwise, they mean the
+ same as just plain 'i'. */
+
+/* Inline definition for feraiseexcept. */
+# define feraiseexcept(__excepts) \
+ ((__builtin_constant_p (__excepts) \
+ && ((__excepts) & ((__excepts)-1)) == 0 \
+ && (__excepts) != FE_INVALID) \
+ ? ((__excepts) != 0 \
+ ? (__extension__ ({ __asm__ __volatile__ \
+ ("mtfsb1 %s0" \
+ : : "i#*X"(__builtin_ffs (__excepts))); \
+ (void)0; })) \
+ : (void)0) \
+ : (feraiseexcept) (__excepts))
+
+/* Inline definition for feclearexcept. */
+# define feclearexcept(__excepts) \
+ ((__builtin_constant_p (__excepts) \
+ && ((__excepts) & ((__excepts)-1)) == 0 \
+ && (__excepts) != FE_INVALID) \
+ ? ((__excepts) != 0 \
+ ? (__extension__ ({ __asm__ __volatile__ \
+ ("mtfsb0 %s0" \
+ : : "i#*X"(__builtin_ffs (__excepts))); \
+ (void)0; })) \
+ : (void)0) \
+ : (feclearexcept) (__excepts))
+
+#endif /* __GNUC__ && !_SOFT_FLOAT */