diff options
author | Joseph Myers <joseph@codesourcery.com> | 2016-01-20 19:04:43 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2016-01-20 19:04:43 +0000 |
commit | dcb133b7a4fdc701009b344c286b6cc9bda67a0c (patch) | |
tree | 472c56756af3db6e7948d6b66dfd4684d8fc8e64 | |
parent | 00b85374a98e2f828ff0bd6cc099ecf55a9e111a (diff) | |
download | glibc-dcb133b7a4fdc701009b344c286b6cc9bda67a0c.tar.gz glibc-dcb133b7a4fdc701009b344c286b6cc9bda67a0c.tar.xz glibc-dcb133b7a4fdc701009b344c286b6cc9bda67a0c.zip |
Fix __finitel libm compat symbol version.
The changes to restrict implementation-namespace symbol aliases such as __finitel to compat symbols used code for __finitel in libm analogous to that for __finitel in libc. However, the versions for the two symbols are actually different, GLIBC_2.0 in libc and GLIBC_2.1 in libm. This patch fixes the handling of the libm compat symbol. Tested for mips (o32), where it fixes an ABI test failure. * sysdeps/ieee754/dbl-64/s_finite.c [NO_LONG_DOUBLE && LDBL_CLASSIFY_COMPAT] (__finitel): Define compat symbol at version GLIBC_2_1 and use GLIBC_2_1 in SHLIB_COMPAT condition for libm, not GLIBC_2_0. * sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c [NO_LONG_DOUBLE && LDBL_CLASSIFY_COMPAT] (__finitel): Likewise.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/s_finite.c | 4 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c | 4 |
3 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 1e9264d1ed..ace36b5ee4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2016-01-20 Joseph Myers <joseph@codesourcery.com> + * sysdeps/ieee754/dbl-64/s_finite.c + [NO_LONG_DOUBLE && LDBL_CLASSIFY_COMPAT] (__finitel): Define + compat symbol at version GLIBC_2_1 and use GLIBC_2_1 in + SHLIB_COMPAT condition for libm, not GLIBC_2_0. + * sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c + [NO_LONG_DOUBLE && LDBL_CLASSIFY_COMPAT] (__finitel): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data (__gtsf2): Add as optional for libc.so. (__unordsf2): Likewise. diff --git a/sysdeps/ieee754/dbl-64/s_finite.c b/sysdeps/ieee754/dbl-64/s_finite.c index b71ae12ea4..69141db75d 100644 --- a/sysdeps/ieee754/dbl-64/s_finite.c +++ b/sysdeps/ieee754/dbl-64/s_finite.c @@ -42,8 +42,8 @@ weak_alias (__finite, finite) # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_23) compat_symbol (libc, __finite, __finitel, GLIBC_2_0); # endif -# if SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_23) -compat_symbol (libm, __finite, __finitel, GLIBC_2_0); +# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_23) +compat_symbol (libm, __finite, __finitel, GLIBC_2_1); # endif # endif weak_alias (__finite, finitel) diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c index c8e2a7c421..ef51608f6e 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c @@ -34,8 +34,8 @@ weak_alias (__finite, finite) # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_23) compat_symbol (libc, __finite, __finitel, GLIBC_2_0); # endif -# if SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_23) -compat_symbol (libm, __finite, __finitel, GLIBC_2_0); +# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_23) +compat_symbol (libm, __finite, __finitel, GLIBC_2_1); # endif # endif weak_alias (__finite, finitel) |