summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--math/Versions109
-rw-r--r--stdlib/Versions10
-rw-r--r--sysdeps/generic/float128-abi.h1
-rw-r--r--sysdeps/ieee754/float128/Versions109
5 files changed, 128 insertions, 109 deletions
diff --git a/ChangeLog b/ChangeLog
index f3b5e8ca89..bcd43a9438 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2017-10-16  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/generic/float128-abi.h: New file.
+	* sysdeps/ieee754/float128/Versions (FLOAT128_VERSION): Move
+	non-__prefixed symbols to ....
+	* math/Versions: ... here.  Include <float128-abi.h>.
+	* stdlib/Versions ... and here.  Include <float128-abi.h>
+
 2017-10-16  Florian Weimer  <fweimer@redhat.com>
 
 	* version.h (VERSION): Switch to ".9000" as the development
diff --git a/math/Versions b/math/Versions
index 2fbdb2f266..c10e32662d 100644
--- a/math/Versions
+++ b/math/Versions
@@ -1,3 +1,4 @@
+%include <float128-abi.h>
 libc {
   GLIBC_2.0 {
     # functions used in inline functions or macros
@@ -229,6 +230,114 @@ libm {
     fromfp; fromfpf; fromfpl; ufromfp; ufromfpf; ufromfpl;
     fromfpx; fromfpxf; fromfpxl; ufromfpx; ufromfpxf; ufromfpxl;
   }
+%ifdef FLOAT128_VERSION
+  FLOAT128_VERSION {
+    acosf128;
+    acoshf128;
+    asinf128;
+    asinhf128;
+    atan2f128;
+    atanf128;
+    atanhf128;
+    cabsf128;
+    cacosf128;
+    cacoshf128;
+    canonicalizef128;
+    cargf128;
+    casinf128;
+    casinhf128;
+    catanf128;
+    catanhf128;
+    cbrtf128;
+    ccosf128;
+    ccoshf128;
+    ceilf128;
+    cexpf128;
+    cimagf128;
+    clog10f128;
+    clogf128;
+    conjf128;
+    copysignf128;
+    cosf128;
+    coshf128;
+    cpowf128;
+    cprojf128;
+    crealf128;
+    csinf128;
+    csinhf128;
+    csqrtf128;
+    ctanf128;
+    ctanhf128;
+    erfcf128;
+    erff128;
+    exp10f128;
+    exp2f128;
+    expf128;
+    expm1f128;
+    fabsf128;
+    fdimf128;
+    floorf128;
+    fmaf128;
+    fmaxf128;
+    fmaxmagf128;
+    fminf128;
+    fminmagf128;
+    fmodf128;
+    frexpf128;
+    fromfpf128;
+    fromfpxf128;
+    getpayloadf128;
+    hypotf128;
+    ilogbf128;
+    j0f128;
+    j1f128;
+    jnf128;
+    ldexpf128;
+    lgammaf128;
+    lgammaf128_r;
+    llogbf128;
+    llrintf128;
+    llroundf128;
+    log10f128;
+    log1pf128;
+    log2f128;
+    logbf128;
+    logf128;
+    lrintf128;
+    lroundf128;
+    modff128;
+    nanf128;
+    nearbyintf128;
+    nextafterf128;
+    nextdownf128;
+    nextupf128;
+    powf128;
+    remainderf128;
+    remquof128;
+    rintf128;
+    roundevenf128;
+    roundf128;
+    scalblnf128;
+    scalbnf128;
+    setpayloadf128;
+    setpayloadsigf128;
+    sincosf128;
+    sinf128;
+    sinhf128;
+    sqrtf128;
+    tanf128;
+    tanhf128;
+    tgammaf128;
+    totalorderf128;
+    totalordermagf128;
+    truncf128;
+    ufromfpf128;
+    ufromfpxf128;
+    y0f128;
+    y1f128;
+    ynf128;
+  }
+%endif
   GLIBC_2.27 {
     expf; exp2f; logf; log2f; powf;
   }
diff --git a/stdlib/Versions b/stdlib/Versions
index 9cade20a06..9d96de525a 100644
--- a/stdlib/Versions
+++ b/stdlib/Versions
@@ -1,3 +1,4 @@
+%include <float128-abi.h>
 libc {
   GLIBC_2.0 {
     # functions with required interface outside normal name space
@@ -121,6 +122,15 @@ libc {
     strfromd; strfromf; strfroml;
     getrandom; getentropy;
   }
+%ifdef FLOAT128_VERSION
+  FLOAT128_VERSION {
+    strfromf128;
+    strtof128;
+    strtof128_l;
+    wcstof128;
+    wcstof128_l;
+  }
+%endif
   GLIBC_PRIVATE {
     # functions which have an additional interface since they are
     # are cancelable.
diff --git a/sysdeps/generic/float128-abi.h b/sysdeps/generic/float128-abi.h
new file mode 100644
index 0000000000..dfcf083c27
--- /dev/null
+++ b/sysdeps/generic/float128-abi.h
@@ -0,0 +1 @@
+/* No _Float128 ABI support by default.  */
diff --git a/sysdeps/ieee754/float128/Versions b/sysdeps/ieee754/float128/Versions
index ef9df2d4c8..2eebc6f1b0 100644
--- a/sysdeps/ieee754/float128/Versions
+++ b/sysdeps/ieee754/float128/Versions
@@ -6,11 +6,6 @@ libc {
   FLOAT128_VERSION {
     __strtof128_internal;
     __wcstof128_internal;
-    strfromf128;
-    strtof128;
-    strtof128_l;
-    wcstof128;
-    wcstof128_l;
   }
   GLIBC_PRIVATE {
     # For __nanf128.
@@ -52,109 +47,5 @@ libm {
     __y0f128_finite;
     __y1f128_finite;
     __ynf128_finite;
-    acosf128;
-    acoshf128;
-    asinf128;
-    asinhf128;
-    atan2f128;
-    atanf128;
-    atanhf128;
-    cabsf128;
-    cacosf128;
-    cacoshf128;
-    canonicalizef128;
-    cargf128;
-    casinf128;
-    casinhf128;
-    catanf128;
-    catanhf128;
-    cbrtf128;
-    ccosf128;
-    ccoshf128;
-    ceilf128;
-    cexpf128;
-    cimagf128;
-    clog10f128;
-    clogf128;
-    conjf128;
-    copysignf128;
-    cosf128;
-    coshf128;
-    cpowf128;
-    cprojf128;
-    crealf128;
-    csinf128;
-    csinhf128;
-    csqrtf128;
-    ctanf128;
-    ctanhf128;
-    erfcf128;
-    erff128;
-    exp10f128;
-    exp2f128;
-    expf128;
-    expm1f128;
-    fabsf128;
-    fdimf128;
-    floorf128;
-    fmaf128;
-    fmaxf128;
-    fmaxmagf128;
-    fminf128;
-    fminmagf128;
-    fmodf128;
-    frexpf128;
-    fromfpf128;
-    fromfpxf128;
-    getpayloadf128;
-    hypotf128;
-    ilogbf128;
-    j0f128;
-    j1f128;
-    jnf128;
-    ldexpf128;
-    lgammaf128;
-    lgammaf128_r;
-    llogbf128;
-    llrintf128;
-    llroundf128;
-    log10f128;
-    log1pf128;
-    log2f128;
-    logbf128;
-    logf128;
-    lrintf128;
-    lroundf128;
-    modff128;
-    nanf128;
-    nearbyintf128;
-    nextafterf128;
-    nextdownf128;
-    nextupf128;
-    powf128;
-    remainderf128;
-    remquof128;
-    rintf128;
-    roundevenf128;
-    roundf128;
-    scalblnf128;
-    scalbnf128;
-    setpayloadf128;
-    setpayloadsigf128;
-    sincosf128;
-    sinf128;
-    sinhf128;
-    sqrtf128;
-    tanf128;
-    tanhf128;
-    tgammaf128;
-    totalorderf128;
-    totalordermagf128;
-    truncf128;
-    ufromfpf128;
-    ufromfpxf128;
-    y0f128;
-    y1f128;
-    ynf128;
   }
 }