float128: use builtin_signbitf128 always

Message ID 20200407212702.24301-1-murphyp@linux.vnet.ibm.com
State Committed
Headers
Series float128: use builtin_signbitf128 always |

Commit Message

Paul E. Murphy April 7, 2020, 9:27 p.m. UTC
  The previous patch failed to account for the now unneeded
hidden_proto which mangles the symbol name in the shared
libary variants.

Also, fixup my email to use IBM IMAP email.

Tested on x86-64.

---8<---

The minimum GCC version has been raised to 6.2 for building
glibc.  Therefore, follow the advice inside the implementation
and remove the GCC < 6 codepath.

Likewise, remove the hidden_proto as all internal usages should
inline now.
---
 include/math.h                           |  1 -
 sysdeps/ieee754/float128/s_signbitf128.c | 19 +------------------
 2 files changed, 1 insertion(+), 19 deletions(-)
  

Comments

Florian Weimer April 22, 2020, 3:06 p.m. UTC | #1
* Paul E. Murphy via Libc-alpha:

> The previous patch failed to account for the now unneeded
> hidden_proto which mangles the symbol name in the shared
> libary variants.
>
> Also, fixup my email to use IBM IMAP email.
>
> Tested on x86-64.

Also tested on i686-linux-gnu and built on a few float128 targets.

Is there anyone else more qualified who wants to review this?  I you
think you should commit & push this.
  
Paul E Murphy May 4, 2020, 9:17 p.m. UTC | #2
On 4/22/20 10:06 AM, Florian Weimer wrote:
> * Paul E. Murphy via Libc-alpha:
> 
>> The previous patch failed to account for the now unneeded
>> hidden_proto which mangles the symbol name in the shared
>> libary variants.
>>
>> Also, fixup my email to use IBM IMAP email.
>>
>> Tested on x86-64.
> 
> Also tested on i686-linux-gnu and built on a few float128 targets.
> 
> Is there anyone else more qualified who wants to review this?  I you
> think you should commit & push this.
> 

I have pushed it, thank you for reviewing.
  

Patch

diff --git a/include/math.h b/include/math.h
index 3979c47400..e1c2a4eb64 100644
--- a/include/math.h
+++ b/include/math.h
@@ -29,7 +29,6 @@  hidden_proto (__isnanl)
 hidden_proto (__finitef128)
 hidden_proto (__isinff128)
 hidden_proto (__isnanf128)
-hidden_proto (__signbitf128)
 #  endif
 # endif
 
diff --git a/sysdeps/ieee754/float128/s_signbitf128.c b/sysdeps/ieee754/float128/s_signbitf128.c
index 1fc00658f8..c2a1097db6 100644
--- a/sysdeps/ieee754/float128/s_signbitf128.c
+++ b/sysdeps/ieee754/float128/s_signbitf128.c
@@ -17,21 +17,4 @@ 
    <https://www.gnu.org/licenses/>.  */
 
 #include <float128_private.h>
-#include <math.h>
-#include <math_private.h>
-
-/* Once GCC >= 6.0 is required for building glibc, this implementation can
-   be removed and replaced with an inclusion of ldbl-128/s_signbitl.c.  */
-int
-__signbitf128 (_Float128 x)
-{
-#if __GNUC_PREREQ (6, 0)
-  return __builtin_signbit (x);
-#else
-  int64_t e;
-
-  GET_FLOAT128_MSW64 (e, x);
-  return e < 0;
-#endif
-}
-hidden_def (__signbitf128)
+#include "../ldbl-128/s_signbitl.c"