This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.26.9000-582-gc38a4bf


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  c38a4bfd596db2be2b9c1f96715bdc833eab760a (commit)
      from  76009b2639e8f2fd06d06366ad383be5d8783236 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=c38a4bfd596db2be2b9c1f96715bdc833eab760a

commit c38a4bfd596db2be2b9c1f96715bdc833eab760a
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Oct 16 22:04:42 2017 +0000

    Move some float128 symbol version definitions.
    
    With support for _Float128 functions on platforms where that type has
    the same ABI as long double, as well as on platforms where it is
    ABI-distinct, those functions will need to be exported from glibc's
    shared libraries at appropriate symbol versions in each case.
    
    This patch avoids duplication of lists of symbols to export by moving
    the symbols other than __* to math/Versions and stdlib/Versions.
    There, they are conditional on <float128-abi.h> defining
    FLOAT128_VERSION and a default version of that header is added that
    does not define that macro.  Enabling the float128 function aliases
    will then include adding a sysdeps/ieee754/ldbl-128/float128-abi.h
    that defines FLOAT128_VERSION to GLIBC_2.27.  Symbols __* remain in
    sysdeps/ieee754/float128/Versions; those symbols should be present
    only once per floating-point format, not once per type.
    
    Note that if any platforms currently lacking support for a type with
    binary128 format get glibc support for such a type in future (whether
    only as _Float128, or also as a new long double format), and new libm
    functions (present for all types) have been added by then, additional
    macros will be needed to allow such functions to get a version of the
    form "GLIBC_2.28 if the platform had _Float128 support by then, or the
    later version at which that platform had _Float128 support added".
    This is not however a preexisting condition, but would have applied
    equally to the existing support for _Float128 as an ABI-distinct
    type.  New all-type libm functions should just be added to the
    appropriate symbol version (currently GLIBC_2.27) for all types, with
    such special-case handling for _Float128 versions (and _Float64x as
    well in future) waiting until someone actually wants to add support
    for _Float128 to an existing platform after a release in which that
    platform and a post-2.26 libm function had support but that platform
    lacked _Float128 support.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by this patch.  Also tested in conjunction
    with the remaining changes to enable float128 aliases.
    
    	* 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>

diff --git a/ChangeLog b/ChangeLog
index f3b5e8c..bcd43a9 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 2fbdb2f..c10e326 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 9cade20..9d96de5 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 0000000..dfcf083
--- /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 ef9df2d..2eebc6f 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;
   }
 }

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                         |    8 +++
 math/Versions                     |  109 +++++++++++++++++++++++++++++++++++++
 stdlib/Versions                   |   10 ++++
 sysdeps/generic/float128-abi.h    |    1 +
 sysdeps/ieee754/float128/Versions |  109 -------------------------------------
 5 files changed, 128 insertions(+), 109 deletions(-)
 create mode 100644 sysdeps/generic/float128-abi.h


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]