Skip to content

Commit

Permalink
Fix missing __sqrtl_finite symbol in libm on sparc 32-bit.
Browse files Browse the repository at this point in the history
	* sysdeps/sparc/sparc32/fpu/e_sqrtl.c: New file.
	* sysdeps/sparc/sparc32/soft-fp/q_sqrt.c (__ieee754_sqrtl): Remove alias.
	* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add __sqrtl_finite.
  • Loading branch information
David S. Miller committed Jan 25, 2016
1 parent a9d460a commit c34ae92
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 2 deletions.
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
2016-01-24 David S. Miller <davem@davemloft.net>

* sysdeps/sparc/sparc32/fpu/e_sqrtl.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_sqrt.c (__ieee754_sqrtl): Remove alias.
* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add __sqrtl_finite.

* sysdeps/sparc/fpu/libm-test-ulps: Update.

2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
Expand Down
29 changes: 28 additions & 1 deletion sysdeps/sparc/sparc32/fpu/e_sqrtl.c
Original file line number Diff line number Diff line change
@@ -1 +1,28 @@
/* __ieee754_sqrtl is defined in q_sqrt.c. */
/* Long double square root, sparc32 version.
Copyright (C) 2016 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
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */

#include <math.h>

extern long double _Q_sqrt(const long double a);

long double
__ieee754_sqrtl (long double x)
{
return _Q_sqrt (x);
}
strong_alias (__ieee754_sqrtl, __sqrtl_finite)
1 change: 0 additions & 1 deletion sysdeps/sparc/sparc32/soft-fp/q_sqrt.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,3 @@ long double _Q_sqrt(const long double a)
FP_HANDLE_EXCEPTIONS;
return c;
}
strong_alias (_Q_sqrt, __ieee754_sqrtl);
1 change: 1 addition & 0 deletions sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,7 @@ GLIBC_2.15 __sinhf_finite F
GLIBC_2.15 __sinhl_finite F
GLIBC_2.15 __sqrt_finite F
GLIBC_2.15 __sqrtf_finite F
GLIBC_2.15 __sqrtl_finite F
GLIBC_2.15 __y0_finite F
GLIBC_2.15 __y0f_finite F
GLIBC_2.15 __y0l_finite F
Expand Down

0 comments on commit c34ae92

Please sign in to comment.