From f2a2deef4de6c97f557b925e6701135dddce2eac Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 3 Feb 2006 22:28:47 +0000 Subject: [PATCH] [BZ #2268] 2006-02-03 Roland McGrath [BZ #2268] * sysdeps/posix/profil.c (__profil): Use __profile_frequency to choose timer interval, don't assume smallest possible interval is it. * sysdeps/powerpc/fpu/bits/fenvinline.h (fegetround): Make asm volatile. --- ChangeLog | 9 +++++++++ sysdeps/posix/profil.c | 6 ++++-- sysdeps/powerpc/fpu/bits/fenvinline.h | 8 +++++--- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3f5c3aa..ecbf595 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ +2006-02-03 Roland McGrath + + [BZ #2268] + * sysdeps/posix/profil.c (__profil): Use __profile_frequency to choose + timer interval, don't assume smallest possible interval is it. + 2006-02-03 Jakub Jelinek + * sysdeps/powerpc/fpu/bits/fenvinline.h (fegetround): Make asm + volatile. + * stdlib/bits/stdlib-ldbl.h (qecvt, qfcvt, qgcvt, qecvt_r, qfcvt_r): Guard with [__USE_SVID || __USE_XOPEN_EXTENDED]. diff --git a/sysdeps/posix/profil.c b/sysdeps/posix/profil.c index f40faee..281b53b 100644 --- a/sysdeps/posix/profil.c +++ b/sysdeps/posix/profil.c @@ -1,5 +1,6 @@ /* Low-level statistical profiling support function. Mostly POSIX.1 version. - Copyright (C) 1996,97,98,2002, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1996,1997,1998,2002,2004,2005,2006 + 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 @@ -22,6 +23,7 @@ #include #include #include +#include #ifndef SIGPROF @@ -110,7 +112,7 @@ __profil (u_short *sample_buffer, size_t size, size_t offset, u_int scale) return -1; timer.it_value.tv_sec = 0; - timer.it_value.tv_usec = 1; + timer.it_value.tv_usec = 1000000 / __profile_frequency (); timer.it_interval = timer.it_value; return __setitimer (ITIMER_PROF, &timer, otimer_ptr); } diff --git a/sysdeps/powerpc/fpu/bits/fenvinline.h b/sysdeps/powerpc/fpu/bits/fenvinline.h index 552c8c9..f7700a4 100644 --- a/sysdeps/powerpc/fpu/bits/fenvinline.h +++ b/sysdeps/powerpc/fpu/bits/fenvinline.h @@ -1,5 +1,6 @@ /* Inline floating-point environment handling functions for powerpc. - Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 1999, 2006 + 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 @@ -22,8 +23,9 @@ /* Inline definition for fegetround. */ # define fegetround() \ (__extension__ ({ int __fegetround_result; \ - __asm__ ("mcrfs 7,7 ; mfcr %0" \ - : "=r"(__fegetround_result) : : "cr7"); \ + __asm__ __volatile__ \ + ("mcrfs 7,7 ; mfcr %0" \ + : "=r"(__fegetround_result) : : "cr7"); \ __fegetround_result & 3; })) /* The weird 'i#*X' constraints on the following suppress a gcc -- 2.7.4