* sysdeps/alpha/Makefile (sysdep-CFLAGS): Force dynamic rounding. * sysdeps/alpha/fpu/bits/mathinline.h (__signbitl): New. * sysdeps/alpha/fpu/libm-test-ulps: Regenerate. * sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies: New file. * sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies: New file. * sysdeps/unix/sysv/linux/alpha/fpu/Implies: New file.

* sysdeps/alpha/Makefile (sysdep-CFLAGS): Force dynamic rounding.
	* sysdeps/alpha/fpu/bits/mathinline.h (__signbitl): New.
	* sysdeps/alpha/fpu/libm-test-ulps: Regenerate.
	* sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies: New file.
	* sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies: New file.
	* sysdeps/unix/sysv/linux/alpha/fpu/Implies: New file.

2007-03-13  Richard Henderson  <rth@redhat.com>
This commit is contained in:
Richard Henderson 2007-03-14 00:40:50 +00:00
parent a5ea509b61
commit 62789da349
7 changed files with 460 additions and 75 deletions

View File

@ -1,3 +1,12 @@
2007-03-13 Richard Henderson <rth@redhat.com>
* sysdeps/alpha/Makefile (sysdep-CFLAGS): Force dynamic rounding.
* sysdeps/alpha/fpu/bits/mathinline.h (__signbitl): New.
* sysdeps/alpha/fpu/libm-test-ulps: Regenerate.
* sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies: New file.
* sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies: New file.
* sysdeps/unix/sysv/linux/alpha/fpu/Implies: New file.
2007-03-13 Richard Henderson <rth@redhat.com> 2007-03-13 Richard Henderson <rth@redhat.com>
* elf/dl-support.c (_dl_aux_init): Honor DL_PLATFORM_AUXV. * elf/dl-support.c (_dl_aux_init): Honor DL_PLATFORM_AUXV.

View File

@ -38,9 +38,10 @@ ifeq ($(subdir),elf)
CFLAGS-rtld.c = -mbuild-constants CFLAGS-rtld.c = -mbuild-constants
endif endif
# For now, build everything with full IEEE math support. # Build everything with full IEEE math support, and with dynamic rounding;
# TODO: build separate libm and libm-ieee. # there are a number of math routines that are defined to work with the
sysdep-CFLAGS += -mieee # "current" rounding mode, and it's easiest to set this with all of them.
sysdep-CFLAGS += -mieee -mfp-rounding-mode=d
# libc.so requires about 16k for the small data area, which is well # libc.so requires about 16k for the small data area, which is well
# below the 64k maximum. # below the 64k maximum.

View File

@ -178,6 +178,16 @@ __NTH (__signbit (double __x))
return __u.__i < 0; return __u.__i < 0;
} }
__MATH_INLINE int
__NTH (__signbitl (long double __x))
{
__extension__ union {
long double __d;
long __i[sizeof(long double)/sizeof(long)];
} __u = { __d: __x };
return __u.__i[sizeof(long double)/sizeof(long) - 1] < 0;
}
#endif /* C99 */ #endif /* C99 */
#endif /* __NO_MATH_INLINES */ #endif /* __NO_MATH_INLINES */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
# Override ldbl-opt with alpha specific routines.
alpha/alphaev6/fpu

View File

@ -0,0 +1,2 @@
# Override ldbl-opt with alpha specific routines.
alpha/alphaev67/fpu

View File

@ -0,0 +1,2 @@
# Override ldbl-opt with alpha specific routines.
alpha/fpu