Commit Graph

89 Commits

Author SHA1 Message Date
David S. Miller
eb66fd21bf Update sparc ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2013-03-22 13:29:31 -07:00
David S. Miller
cd18e90aa6 Update Sparc ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2013-03-17 08:38:10 -07:00
David S. Miller
c51ebd9c78 Add long-double sparc ULPs updates missing in previous commit. 2013-02-04 12:06:42 -08:00
David S. Miller
b83bbec4cc Update sparc ULPs after Joseph's casin fixes.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2013-02-04 10:31:18 -08:00
David S. Miller
1dbaee3c12 Update sparc ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2013-01-17 20:45:04 -08:00
David S. Miller
5a47cc9cef Update sparc ULPs for new casin{,h} tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2013-01-10 14:46:18 -08:00
David S. Miller
0b3986d0dc Update Sparc ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2013-01-04 13:20:26 -08:00
Joseph Myers
568035b787 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
David S. Miller
dd694abd5e Update sparc ULPs for recently added pow tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-11-28 17:42:09 -08:00
David S. Miller
6d33cc9d9b Fix spurious underflows in ldbl-128 atan implementation.
With help from Joseph Myers.
	* sysdeps/ieee754/ldbl-128/s_atanl.c (__atanl): Handle tiny and
	very large arguments properly.
	* math/libm-test.inc (atan_test): New tests.
	(atan2_test): New tests.
	* sysdeps/sparc/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
2012-11-19 15:31:24 -08:00
David S. Miller
05b227bdae Correct tinyness handling in long-double and float y0/y1.
With help from Joseph Myers.
	* sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Adjust tinyness
	cutoff to 2**-13.
	* sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Adjust tinyness
	cutoff to 2**-25.
	* sysdeps/ieee754/ldbl-128/e_j0l.c (U0): New constant.
	( __ieee754_y0l): Avoid arithmetic underflow when 'x' is very
	small.
	* sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_y1l): Likewise.
	* math/libm-test.inc (y0_test): New tests.
	(y1_test): New tests.
	* sysdeps/i386/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
	* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-11-18 12:33:53 -08:00
Joseph Myers
5b5b04d628 Make fma use of Dekker and Knuth algorithms use round-to-nearest (bug 14796). 2012-11-03 19:48:53 +00:00
Joseph Myers
fbeafedeea Make fenv.h FE_* macros usable in #if (bug 3439). 2012-11-03 17:07:56 +00:00
David S. Miller
b1fa802e1a Uncorrupt Sparc ULPS file.
* sysdeps/sparc/fpu/libm-test-ulps: Fix garbage in file.
2012-09-28 16:36:35 -07:00
David S. Miller
766ea9371a Revert "Add missed ildouble case in yesterday's sparc ULPs update for clog/clog10."
This reverts commit 084b8fabd2.

Sorry something put garbage into the string, will debug this.
2012-09-28 13:29:09 -07:00
David S. Miller
084b8fabd2 Add missed ildouble case in yesterday's sparc ULPs update for clog/clog10.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-09-28 13:15:51 -07:00
David S. Miller
784421e72b Update sparc ULPS for recent clog/clog10 activity.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-09-27 22:27:32 -07:00
David S. Miller
430d6ce62a Update sparc ULPs for recently added math tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-09-05 17:54:52 -07:00
David S. Miller
faa2bccba5 Update SPARC ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-08-03 20:39:26 -07:00
David S. Miller
e2eabb2c3b Update sparc ULPs. 2012-07-31 14:22:42 +00:00
David S. Miller
e5abc686ef Update sparc ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-07-27 21:14:41 -07:00
David S. Miller
6b90f98178 Update sparc ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-07-11 02:50:31 -07:00
David S. Miller
1c2cfe8193 Update sparc ulps after Joseph's math.h fixes.
* sysdeps/sparc/fpu/libm-test-ulps: Remove sqrt(2) and sqrt test
	entries.
2012-05-31 16:25:07 -07:00
Joseph Myers
795405f956 Don't include exceptions in libm-test-ulps test names. 2012-05-24 12:14:03 +00:00
David S. Miller
cbcbe830f9 Update sparc ULPs for ccos, csin, ccosh, csinh tests. 2012-05-19 15:36:55 +00:00
David S. Miller
842b81d611 Mark sparc %fsr load and store inline asms as volatile.
* sysdeps/sparc/fpu/bits/fenv.h (__fenv_stfsr): Add __volatile__.
	* sysdeps/sparc/fpu/fpu_control.h (_FPU_GETCW):	Likewise.
	(_FPU_SETCW): Likewise.
2012-05-11 13:58:41 -07:00
David S. Miller
dee4a4e3d0 With -frounding-math, some sparc ULPs need to be adjusted.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-05-08 10:58:01 -07:00
David S. Miller
05760585e0 Update sparc ULPs for recently added exp tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-05-07 19:29:24 -07:00
David S. Miller
d77f993f64 Update sparc ULPs for recently added acos/asin tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-05-02 16:44:21 -07:00
David S. Miller
55939d6d45 Update sparc libm ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-04-11 12:25:00 -07:00
David S. Miller
4c42a0c1d5 Update sparc ULPs for recently added tests and bug fixes.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-03-23 11:57:53 -07:00
David S. Miller
6f4db457f8 Update sparc ULPs for recently added tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-03-21 14:20:46 -07:00
David S. Miller
e1497744f0 Update sparc ULPs for newly added tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-03-19 15:46:15 -07:00
David S. Miller
5df98260fe Fix sparc build after math_private.h cleanups.
* sysdeps/sparc/fpu/fenv_private.h: New file.
	* sysdeps/sparc/fpu/math_private.h: Use it.
	(libc_feholdexcept, libc_feholdexceptf, libc_feholdexceptl):
	Remove.
	(libc_feholdexcept_setround, libc_feholdexcept_setroundf,
	(libc_feholdexcept_setroundl): Remove.
	(libc_fetestexcept, libc_fetestexceptf, libc_fetestexceptl):
	Remove.
	(libc_fesetenv, libc_fesetenvf, libc_fesetenvl): Remove.
	(libc_feupdateenv, libc_feupdateenvf, libc_feupdateenvf): Remove.
2012-03-19 15:12:50 -07:00
David S. Miller
edc218041e Update sparc ULPs.
* sysdeps/sparc/fpu/libm-test/ulps: Update.
2012-03-16 16:01:28 -07:00
David S. Miller
dd7f470327 Implement optimized libc_fe*() math routines on sparc.
* sysdeps/sparc/fpu/math_private.h: New file.
2012-03-16 03:05:49 -07:00
David S. Miller
5a1c1e3243 Update sparc ULPs for newly added csqrt tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-03-14 17:25:35 -07:00
David S. Miller
6e226b094f Update sparc ULPs for recently added tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-03-11 18:46:30 -07:00
David S. Miller
3bd2c72316 Update sparc ULPs due to recently added tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-03-05 21:07:32 -08:00
David S. Miller
49efa33d3d Update sparc ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update for recently added tests.
2012-03-02 14:17:33 -08:00
David S. Miller
ead89f9695 Update Sparc ulps for recently added tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-03-01 17:34:04 -08:00
David S. Miller
7f66bd07f0 Sparc doesn't need seperate 32-bit and 64-bit ulps files.
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Move...
	* sysdeps/sparc/fpu/libm-test-ulps: to here.
	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Delete.
2012-03-01 17:32:58 -08:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Ulrich Drepper
a784e50247 Remove pre-ISO C support
No more __const.
2012-01-07 23:57:22 -05:00
Jakub Jelinek
9ff8d36f27 Correct implementation of fmaf. 2010-10-11 09:27:05 -04:00
Andreas Schwab
7eb22e757e Avoid PLT call to fegetenv on s390 2010-02-09 22:34:17 -08:00
Ulrich Drepper
de1c3ebb59 * misc/sys/cdefs.h (__va_arg_pack): Define for GCC 4.3+.
* misc/bits/syslog.h (syslog): When __va_arg_pack is defined,
	implement as __extern_always_inline function.
	(vsyslog): Define as __extern_always_inline function unconditionally.
	* libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf):
	When __va_arg_pack is defined, implement as __extern_always_inline
	functions.
	(vsprintf, vsnprintf, vprintf, vfprintf): Define as
	__extern_always_inline functions unconditionally.
	* libio/bits/stdio.h (vprintf): Ifdef out the inline when
	bits/stdio2.h will be included.
	* wcsmbs/bits/wchar2.h (__swprintf_alias): New redirect.
	(swprintf, wprintf, fwprintf): When __va_arg_pack is defined,
	implement as __extern_always_inline functions.
	(vswprintf, vwprintf, vfwprintf): Define as
	__extern_always_inline functions unconditionally.
	* debug/tst-chk1.c (do_test): Enable remaining tests for C++.

2007-09-03  Jakub Jelinek  <jakub@redhat.com>

	* misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Only
	define in C++ for GCC 4.3+, in C++ always use __gnu_inline__
	attribute.
	* include/features.h (__USE_EXTERN_INLINES): Define only when
	__extern_inline is defined.
	* stdlib/stdlib.h: Include bits/stdlib.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	* misc/sys/syslog.h: Include bits/syslog.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	* socket/sys/socket.h: Include bits/socket2.h when
	__extern_always_inline is defined instead of when not __cplusplus.
	* libio/stdio.h: Include bits/stdio2.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	* posix/unistd.h: Include bits/unistd.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	* string/string.h: Include bits/string3.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	* wcsmbs/wchar.h: Include bits/wchar2.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	(btowc, wctob): Don't guard the inlines with ifndef __cplusplus.
	* io/fcntl.h: Don't include bits/fcntl2.h if __extern_always_inline
	is not defined.
	* misc/bits/syslog-ldbl.h: Guard *_chk stuff with
	defined __extern_always_inline instead of !defined __cplusplus.
	* libio/bits/stdio-ldbl.h: Likewise.
	* wcsmbs/bits/wchar-ldbl.h: Likewise.
	* misc/bits/syslog.h (syslog): Don't define for C++.
	(vsyslog): Use __extern_always_inline function for C++ instead of
	a macro.
	* libio/bits/stdio.h (__STDIO_INLINE): Define to __extern_inline
	whenever that macro is defined.
	(vprintf): Don't provide the inline for C++.
	(fread_unlocked, fwrite_unlocked): Don't define the macros for C++.
	* libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): Don't
	define the macros for C++.
	(vsprintf, vsnprintf, vprintf, vfprintf): Define as
	__extern_always_inline functions for C++.
	* io/sys/stat.h (stat, lstat, fstat, fstatat, mknod, mknodat,
	stat64, lstat64, fstat64, fstatat64): Don't define if not
	__USE_EXTERN_INLINES.
	* wcsmbs/bits/wchar2.h: Fix #error message.
	(swprintf, wprintf, fwprintf): Don't define the macros for C++.
	(vswprintf, vwprintf, vfwprintf): Define using
	__extern_always_inline functions for C++.
	* string/bits/string3.h: Don't #undef macros if __cplusplus.
	(memcpy, memmove, mempcpy, memset, bcopy, bzero, strcpy, stpcpy,
	strncpy, strcat, strncat): Define as __extern_always_inline
	functions instead of macros for C++.
	* math/bits/cmathcalls.h: Guard __extern_inline routines with
	defined __extern_inline.
	* sysdeps/alpha/fpu/bits/mathinline.h (__MATH_INLINE): Define
	to __extern_inline whenever that macro is defined.
	* sysdeps/ia64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/i386/i486/bits/string.h (__STRING_INLINE): Likewise.
	* sysdeps/s390/bits/string.h (__STRING_INLINE): Likewise.
	* sysdeps/s390/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/powerpc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/sparc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/unix/sysv/linux/sys/sysmacros.h (gnu_dev_major,
	gnu_dev_minor, gnu_dev_makedev): Remove __extern_inline from
	prototypes.  Only provide __extern_inline routines if
	__USE_EXTERN_INLINES.
	* debug/Makefile: Add rules to build and run tst-{,lfs}chk{4,5,6}
	tests.
	* debug/tst-chk1.c (do_prepare, do_test): Allow compilation as C++.
	For now avoid some *printf tests in C++.  Skip all testing
	if __USE_FORTIFY_LEVEL is defined, but __extern_always_inline macro
	is not.
	* debug/tst-chk4.cc: New file.
	* debug/tst-chk5.cc: New file.
	* debug/tst-chk6.cc: New file.
	* debug/tst-lfschk4.cc: New file.
	* debug/tst-lfschk5.cc: New file.
	* debug/tst-lfschk6.cc: New file.
	* include/wchar.h (__vfwprintf_chk, __vswprintf_chk): Avoid
	prototypes in C++.
	* include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk,
	__vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk,
	__vfprintf_chk, __fgets_unlocked_chk, __fgets_chk): Likewise.
2007-09-15 02:38:04 +00:00
Jakub Jelinek
e4720b0e59 * sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising
FE_UNDERFLOW on Niagara CPUs.
	* sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear all
	exceptions.

	* sysdeps/unix/sysv/linux/sparc/internaltypes.h (sparc_new_sem,
	sparc_old_sem): New structs.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c
	(__sem_wait_cleanup): New function.
	(__new_sem_wait): Use sparc_new_sem structure.  Bump and afterwards
	decrease nwaiters.  Register __sem_wait_cleanup as cleanup handler.
	Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
	lll_futex_wait.
	(__old_sem_wait): New function.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c: Include
	nptl/sysdeps/unix/sysv/linux/sparc version.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c:
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c
	(__new_sem_trywait): Use sparc_old_sem structure.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c
	(sem_timedwait): Use sparc_new_sem structure.  Bump and afterwards
	decrease nwaiters.  Register __sem_wait_cleanup as cleanup handler.
	Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
	lll_futex_timed_wait.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c (__new_sem_post):
	Use sparc_new_sem structure.  Only wake if nwaiters > 0.  Pass
	isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
	lll_futex_wake.
	(__old_sem_post): New function.
	* sysdeps/unix/sysv/linux/sparc/sem_wait.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sem_init.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sem_timedwait.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_init.c: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c: Remove.
2007-08-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising
	FE_UNDERFLOW on Niagara CPUs.

	* sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear all
	exceptions.
2007-08-15 20:47:43 +00:00
Ulrich Drepper
b037a293a4 * configure.in (libc_cv_gnu89_inline): Test for -fgnu89-inline.
* config.make.in (gnu89-inline-CFLAGS): New variable.
	* Makeconfig (CFLAGS): Use $(gnu89-inline-CFLAGS) together with
	-std=gnu99.
	* misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Define.
	* argp/argp.h: Use it.
	* bits/mathinline.h: Likewise.
	* bits/sigset.h: Likewise.
	* bits/string.h: Likewise.
	* ctype/ctype.h: Likewise.
	* hurd/hurd.h: Likewise.
	* hurd/hurd/fd.h: Likewise.
	* hurd/hurd/port.h: Likewise.
	* hurd/hurd/signal.h: Likewise.
	* hurd/hurd/threadvar.h: Likewise.
	* hurd/hurd/userlink.h: Likewise.
	* io/sys/stat.h: Likewise.
	* libio/bits/stdio.h: Likewise.
	* libio/bits/stdio2.h: Likewise.
	* mach/lock-intern.h: Likewise.
	* mach/mach/mig_support.h: Likewise.
	* math/bits/cmathcalls.h: Likewise.
	* posix/bits/unistd.h: Likewise.
	* socket/bits/socket2.h: Likewise.
	* stdlib/bits/stdlib.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* string/bits/string2.h: Likewise.
	* string/bits/string3.h: Likewise.
	* sysdeps/alpha/fpu/bits/mathinline.h: Likewise.
	* sysdeps/generic/inttypes.h: Likewise.
	* sysdeps/generic/machine-lock.h: Likewise.
	* sysdeps/generic/machine-sp.h: Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
	* sysdeps/i386/i486/bits/string.h: Likewise.
	* sysdeps/ia64/fpu/bits/mathinline.h: Likewise.
	* sysdeps/mach/alpha/machine-lock.h: Likewise.
	* sysdeps/mach/alpha/machine-sp.h: Likewise.
	* sysdeps/mach/i386/machine-lock.h: Likewise.
	* sysdeps/mach/powerpc/machine-lock.h: Likewise.
	* sysdeps/mach/powerpc/machine-sp.h: Likewise.
	* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/s390/bits/string.h: Likewise.
	* sysdeps/s390/fpu/bits/mathinline.h: Likewise.
	* sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sigset.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise.
	* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
	* wcsmbs/bits/wchar2.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
	* stdlib/gmp.h: Likewise.  Include <features.h> to get
	__extern_inline definition.

	* locale/programs/ld-ctype.c (find_translit): Return NULL if ctype is
	NULL.
2007-03-17 17:04:28 +00:00
Roland McGrath
c4a4875d0f * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.
* sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept):
	Use inline asm to make sure the compiler doesn't optimize insns out.
2006-03-01 20:05:53 +00:00