* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NLDBL_DECL): Don't try

attribute_hidden here.
	* sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c (vsyslog): Restore
	attribute_hidden here.
	* sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c (__asprintf): Likewise.
	* sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c (fprintf): Likewise.
	* sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c (qecvt): Likewise.
	* sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c (qfcvt): Likewise.
	* sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c (qgcvt): Likewise.

	* sysdeps/ieee754/ldbl-opt/configure.in: Use AC_TRY_COMPILE and
	verify __LONG_DOUBLE_128__ predefine.
	* sysdeps/ieee754/ldbl-opt/configure: Regenerated.
This commit is contained in:
Roland McGrath 2006-01-14 22:08:18 +00:00
parent 5e56adba65
commit 926320aba6
10 changed files with 84 additions and 16 deletions

View File

@ -1,5 +1,19 @@
2006-01-14 Roland McGrath <roland@redhat.com> 2006-01-14 Roland McGrath <roland@redhat.com>
* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NLDBL_DECL): Don't try
attribute_hidden here.
* sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c (vsyslog): Restore
attribute_hidden here.
* sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c (__asprintf): Likewise.
* sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c (fprintf): Likewise.
* sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c (qecvt): Likewise.
* sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c (qfcvt): Likewise.
* sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c (qgcvt): Likewise.
* sysdeps/ieee754/ldbl-opt/configure.in: Use AC_TRY_COMPILE and
verify __LONG_DOUBLE_128__ predefine.
* sysdeps/ieee754/ldbl-opt/configure: Regenerated.
* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NLDBL_HIDDEN): Removed. * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NLDBL_HIDDEN): Removed.
(NLDBL_DECL): Rewritten. (NLDBL_DECL): Rewritten.
Remove __THROW from NLDBL_DECL uses. Remove __THROW from NLDBL_DECL uses.

View File

@ -1,17 +1,64 @@
# This file is generated from configure.in by Autoconf. DO NOT EDIT! # This file is generated from configure.in by Autoconf. DO NOT EDIT!
# Local configure fragment for sysdeps/ieee754/ldbl-opt/. # Local configure fragment for sysdeps/ieee754/ldbl-opt/.
echo "$as_me:$LINENO: checking whether $CC $CFLAGS -mlong-double-128" >&5
echo $ECHO_N "checking whether $CC $CFLAGS -mlong-double-128... $ECHO_C" >&6 echo "$as_me:$LINENO: checking whether $CC $CFLAGS supports -mlong-double-128" >&5
echo $ECHO_N "checking whether $CC $CFLAGS supports -mlong-double-128... $ECHO_C" >&6
if test "${libc_cv_mlong_double_128+set}" = set; then if test "${libc_cv_mlong_double_128+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6 echo $ECHO_N "(cached) $ECHO_C" >&6
else else
if $CC $CFLAGS -mlong-double-128 -S -xc /dev/null -o /dev/null 2>&1 save_CFLAGS="$CFLAGS"
then CFLAGS="$CFLAGS -mlong-double-128"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
#ifndef __LONG_DOUBLE_128__
# error "compiler did not predefine __LONG_DOUBLE_128__ as expected"
#endif
long double foobar (long double x) { return x; }
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
libc_cv_mlong_double_128=yes libc_cv_mlong_double_128=yes
else else
libc_cv_mlong_double_128=no echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
libc_cv_mlong_double_128=no
fi fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$save_CFLAGS"
fi fi
echo "$as_me:$LINENO: result: $libc_cv_mlong_double_128" >&5 echo "$as_me:$LINENO: result: $libc_cv_mlong_double_128" >&5
echo "${ECHO_T}$libc_cv_mlong_double_128" >&6 echo "${ECHO_T}$libc_cv_mlong_double_128" >&6

View File

@ -4,12 +4,16 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
AC_CACHE_CHECK(whether $CC $CFLAGS supports -mlong-double-128, AC_CACHE_CHECK(whether $CC $CFLAGS supports -mlong-double-128,
libc_cv_mlong_double_128, [dnl libc_cv_mlong_double_128, [dnl
if $CC $CFLAGS -mlong-double-128 -S -xc /dev/null -o /dev/null 2>&1 save_CFLAGS="$CFLAGS"
then CFLAGS="$CFLAGS -mlong-double-128"
libc_cv_mlong_double_128=yes AC_TRY_COMPILE(, [
else #ifndef __LONG_DOUBLE_128__
libc_cv_mlong_double_128=no # error "compiler did not predefine __LONG_DOUBLE_128__ as expected"
fi]) #endif
long double foobar (long double x) { return x; }],
libc_cv_mlong_double_128=yes,
libc_cv_mlong_double_128=no)
CFLAGS="$save_CFLAGS"])
if test "$libc_cv_mlong_double_128" = no; then if test "$libc_cv_mlong_double_128" = no; then
AC_MSG_ERROR([this configuration requires -mlong-double-128 support]) AC_MSG_ERROR([this configuration requires -mlong-double-128 support])
fi fi

View File

@ -1,5 +1,6 @@
#include "nldbl-compat.h" #include "nldbl-compat.h"
attribute_hidden
int int
__asprintf (char **string_ptr, const char *fmt, ...) __asprintf (char **string_ptr, const char *fmt, ...)
{ {

View File

@ -33,11 +33,8 @@
#include <sys/syslog.h> #include <sys/syslog.h>
/* Declare the __nldbl_NAME function the wrappers call that's in libc.so, /* Declare the __nldbl_NAME function the wrappers call that's in libc.so. */
and then redeclare NAME to mark it hidden for the nldbl-*.c definition. */ #define NLDBL_DECL(name) extern __typeof (name) __nldbl_##name
#define NLDBL_DECL(name) \
extern __typeof (name) __nldbl_##name; \
extern __typeof (name) name attribute_hidden
NLDBL_DECL (_IO_vfscanf); NLDBL_DECL (_IO_vfscanf);
NLDBL_DECL (vfscanf); NLDBL_DECL (vfscanf);

View File

@ -1,5 +1,6 @@
#include "nldbl-compat.h" #include "nldbl-compat.h"
attribute_hidden
int int
fprintf (FILE *stream, const char *fmt, ...) fprintf (FILE *stream, const char *fmt, ...)
{ {

View File

@ -2,6 +2,7 @@
#include "nldbl-compat.h" #include "nldbl-compat.h"
#undef qecvt #undef qecvt
attribute_hidden
char * char *
qecvt (double val, int ndigit, int *__restrict decpt, int *__restrict sign) qecvt (double val, int ndigit, int *__restrict decpt, int *__restrict sign)
{ {

View File

@ -2,6 +2,7 @@
#include "nldbl-compat.h" #include "nldbl-compat.h"
#undef qfcvt #undef qfcvt
attribute_hidden
char * char *
qfcvt (double val, int ndigit, int *__restrict decpt, int *__restrict sign) qfcvt (double val, int ndigit, int *__restrict decpt, int *__restrict sign)
{ {

View File

@ -2,6 +2,7 @@
#include "nldbl-compat.h" #include "nldbl-compat.h"
#undef qgcvt #undef qgcvt
attribute_hidden
char * char *
qgcvt (double val, int ndigit, char *buf) qgcvt (double val, int ndigit, char *buf)
{ {

View File

@ -1,5 +1,6 @@
#include "nldbl-compat.h" #include "nldbl-compat.h"
attribute_hidden
void void
vsyslog (int pri, const char *fmt, va_list ap) vsyslog (int pri, const char *fmt, va_list ap)
{ {