Continuing the fixes for C90 libm functions calling C99 fe* functions,
this patch fixes the case of fegetround by making it a weak alias of
__fegetround and making the affected code call __fegetround.
Tested for x86_64 (testsuite, and that disassembly of installed shared
libraries is unchanged by the patch). Also tested for ARM
(soft-float) that fegetround failures disappear from the linknamespace
test failures (feholdexcept, fesetenv, fesetround and feupdateenv
remain to be addressed before bug 17748 is fully fixed, although this
patch may suffice to fix the failures in some cases, when the libc_fe*
functions are implemented but there is no architecture-specific sqrt
implementation in use so there were failures from fegetround used by
sqrt but no other such failures).
[BZ #17748]
* include/fenv.h (__fegetround): Declare. Use libm_hidden_proto.
* math/fegetround.c (fegetround): Rename to __fegetround and
define as weak alias of __fegetround. Use libm_hidden_weak.
* sysdeps/aarch64/fpu/fegetround.c (fegetround): Likewise.
* sysdeps/alpha/fpu/fegetround.c (fegetround): Likewise.
* sysdeps/arm/fegetround.c (fegetround): Likewise.
* sysdeps/hppa/fpu/fegetround.c (fegetround): Likewise.
* sysdeps/i386/fpu/fegetround.c (fegetround): Likewise.
* sysdeps/ia64/fpu/fegetround.c (fegetround): Likewise.
* sysdeps/m68k/fpu/fegetround.c (fegetround): Likewise.
* sysdeps/mips/fpu/fegetround.c (fegetround): Likewise.
* sysdeps/powerpc/fpu/fegetround.c (fegetround): Likewise.
Undefine after rather than before function definition; use
parentheses around function name in definition.
(__fegetround): Also undefine macro after function definition.
* sysdeps/powerpc/nofpu/fegetround.c (fegetround): Rename to
__fegetround and define as weak alias of __fegetround. Use
libm_hidden_weak. Do not undefine as macro.
* sysdeps/powerpc/powerpc32/e500/nofpu/fegetround.c (fegetround):
Likewise.
* sysdeps/s390/fpu/fegetround.c (fegetround): Rename to
__fegetround and define as weak alias of __fegetround. Use
libm_hidden_weak.
* sysdeps/sh/sh4/fpu/fegetround.c (fegetround): Likewise.
* sysdeps/sparc/fpu/fegetround.c (fegetround): Likewise.
* sysdeps/tile/math_private.h (__fegetround): New inline function.
* sysdeps/x86_64/fpu/fegetround.c (fegetround): Rename to
__fegetround and define as weak alias of __fegetround. Use
libm_hidden_weak.
* sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Use
__fegetround instead of fegetround.
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
2000-05-05 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.h: New file.
* sysdeps/unix/sysv/linux/ia64/syscall.S: New file.
* sysdeps/unix/sysv/linux/ia64/bits/types.h: New file.
* sysdeps/unix/sysv/linux/ia64/bits/endian.h: New file.
* sysdeps/ia64/Implies: New file.
* sysdeps/ia64/Versions: New file. Declare _dl_symbol_address.
* sysdeps/ia64/Makefile: New file.
* sysdeps/ia64/gmp-mparam.h: New file,
* sysdeps/ia64/elf/start.S: New file.
* sysdeps/ia64/bits/fenv.h: New file.
2000-05-05 David Mosberger-Tang <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.S: New file.
2000-04-26 Jes Sorensen <Jes.Sorensen@cern.ch>
* sysdeps/unix/sysv/linux/ia64/bits/elfclass.h: New file. The
ia64 has 64 bit .hash entries just as the Alpha.
2000-04-25 Jes Sorensen <Jes.Sorensen@cern.ch>
* sysdeps/ia64/memprof.h: New file. Provide GETSP() macro.
2000-04-17 Jes Sorensen <Jes.Sorensen@cern.ch>
* sysdeps/ia64/fpu/fclrexcpt.c: New file.
* sysdeps/ia64/fpu/fedisblxcpt.c: New file.
* sysdeps/ia64/fpu/feenablxcpt.c: New file.
* sysdeps/ia64/fpu/fegetenv.c: New file.
* sysdeps/ia64/fpu/fegetexcept.c: New file.
* sysdeps/ia64/fpu/fegetround.c: New file.
* sysdeps/ia64/fpu/feholdexcpt.c: New file.
* sysdeps/ia64/fpu/fesetenv.c: New file.
* sysdeps/ia64/fpu/fesetround.c: New file.
* sysdeps/ia64/fpu/feupdateenv.c: New file.
* sysdeps/ia64/fpu/fgetexcptflg.c: New file.
* sysdeps/ia64/fpu/fraiseexcpt.c: New file.
* sysdeps/ia64/fpu/fsetexcptflg.c: New file.
* sysdeps/ia64/fpu/ftestexcept.c: New file.
* sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_DL_HWCAP_COUNT): New.
* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h
(_DL_HWCAP_COUNT): New.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h
(_DL_HWCAP_COUNT): New.