From 107a5bf085f5c4ef8c28266a34d476724cfc3475 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 18 Nov 2014 15:40:56 +0000 Subject: [PATCH] Fix libm mpone, mptwo namespace (bug 17616). libm uses symbols mpone and mptwo for internal purposes. This patch moves them to the implementation namespace (__mpone and __mptwo). Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #17616] * sysdeps/ieee754/dbl-64/mpa.c (mpone): Rename to __mpone. (mptwo): Rename to __mptwo. (__inv): Use __mptwo instead of mptwo. * sysdeps/ieee754/dbl-64/mpa.h (mpone): Rename to __mpone. (mptwo): Rename to __mptwo. * sysdeps/ieee754/dbl-64/mpatan.c (__mpatan): Use __mpone instead of mpone and __mptwo instead of mptwo. * sysdeps/ieee754/dbl-64/mpatan2.c (__mpatan2): Use __mpone instead of mpone. * sysdeps/ieee754/dbl-64/mpexp.c (__mpexp): Likewise. * sysdeps/ieee754/dbl-64/mplog.c (__mplog): Likewise. * sysdeps/ieee754/dbl-64/sincos32.c (__c32): Use __mpone instead of mpone and __mptwo instead of mptwo. (__mpranred): Use __mpone instead of mpone. * conform/Makefile (test-xfail-ISO/math.h/linknamespace): Remove variable. (test-xfail-ISO99/complex.h/linknamespace): Likewise. (test-xfail-ISO99/math.h/linknamespace): Likewise. (test-xfail-ISO99/tgmath.h/linknamespace): Likewise. (test-xfail-ISO11/complex.h/linknamespace): Likewise. (test-xfail-ISO11/math.h/linknamespace): Likewise. (test-xfail-ISO11/tgmath.h/linknamespace): Likewise. (test-xfail-XPG3/math.h/linknamespace): Likewise. (test-xfail-XPG4/math.h/linknamespace): Likewise. (test-xfail-POSIX/math.h/linknamespace): Likewise. (test-xfail-UNIX98/math.h/linknamespace): Likewise. (test-xfail-XOPEN2K/complex.h/linknamespace): Likewise. (test-xfail-XOPEN2K/math.h/linknamespace): Likewise. (test-xfail-XOPEN2K/tgmath.h/linknamespace): Likewise. (test-xfail-POSIX2008/complex.h/linknamespace): Likewise. (test-xfail-POSIX2008/math.h/linknamespace): Likewise. (test-xfail-POSIX2008/tgmath.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/complex.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/math.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/tgmath.h/linknamespace): Likewise. --- ChangeLog | 39 +++++++++++++++++++++++++++++++++++++++ NEWS | 2 +- conform/Makefile | 20 -------------------- sysdeps/ieee754/dbl-64/mpa.c | 6 +++--- sysdeps/ieee754/dbl-64/mpa.h | 4 ++-- sysdeps/ieee754/dbl-64/mpatan.c | 4 ++-- sysdeps/ieee754/dbl-64/mpatan2.c | 2 +- sysdeps/ieee754/dbl-64/mpexp.c | 2 +- sysdeps/ieee754/dbl-64/mplog.c | 2 +- sysdeps/ieee754/dbl-64/sincos32.c | 6 +++--- 10 files changed, 53 insertions(+), 34 deletions(-) diff --git a/ChangeLog b/ChangeLog index d9bf09c..2e3359a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,42 @@ +2014-11-18 Joseph Myers + + [BZ #17616] + * sysdeps/ieee754/dbl-64/mpa.c (mpone): Rename to __mpone. + (mptwo): Rename to __mptwo. + (__inv): Use __mptwo instead of mptwo. + * sysdeps/ieee754/dbl-64/mpa.h (mpone): Rename to __mpone. + (mptwo): Rename to __mptwo. + * sysdeps/ieee754/dbl-64/mpatan.c (__mpatan): Use __mpone instead + of mpone and __mptwo instead of mptwo. + * sysdeps/ieee754/dbl-64/mpatan2.c (__mpatan2): Use __mpone + instead of mpone. + * sysdeps/ieee754/dbl-64/mpexp.c (__mpexp): Likewise. + * sysdeps/ieee754/dbl-64/mplog.c (__mplog): Likewise. + * sysdeps/ieee754/dbl-64/sincos32.c (__c32): Use __mpone instead + of mpone and __mptwo instead of mptwo. + (__mpranred): Use __mpone instead of mpone. + * conform/Makefile (test-xfail-ISO/math.h/linknamespace): Remove + variable. + (test-xfail-ISO99/complex.h/linknamespace): Likewise. + (test-xfail-ISO99/math.h/linknamespace): Likewise. + (test-xfail-ISO99/tgmath.h/linknamespace): Likewise. + (test-xfail-ISO11/complex.h/linknamespace): Likewise. + (test-xfail-ISO11/math.h/linknamespace): Likewise. + (test-xfail-ISO11/tgmath.h/linknamespace): Likewise. + (test-xfail-XPG3/math.h/linknamespace): Likewise. + (test-xfail-XPG4/math.h/linknamespace): Likewise. + (test-xfail-POSIX/math.h/linknamespace): Likewise. + (test-xfail-UNIX98/math.h/linknamespace): Likewise. + (test-xfail-XOPEN2K/complex.h/linknamespace): Likewise. + (test-xfail-XOPEN2K/math.h/linknamespace): Likewise. + (test-xfail-XOPEN2K/tgmath.h/linknamespace): Likewise. + (test-xfail-POSIX2008/complex.h/linknamespace): Likewise. + (test-xfail-POSIX2008/math.h/linknamespace): Likewise. + (test-xfail-POSIX2008/tgmath.h/linknamespace): Likewise. + (test-xfail-XOPEN2K8/complex.h/linknamespace): Likewise. + (test-xfail-XOPEN2K8/math.h/linknamespace): Likewise. + (test-xfail-XOPEN2K8/tgmath.h/linknamespace): Likewise. + 2014-11-18 Tom de Vries * manual/signal.texi (Primitives Interrupted by Signals): In section, diff --git a/NEWS b/NEWS index 6ad9464..b152488 100644 --- a/NEWS +++ b/NEWS @@ -12,7 +12,7 @@ Version 2.21 6652, 12926, 14132, 14138, 14171, 15215, 15884, 17266, 17344, 17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508, 17522, 17555, 17570, 17571, 17572, 17573, 17574, 17582, 17583, 17584, 17585, - 17589, 17594. + 17589, 17594, 17616. * The minimum GCC version that can be used to build this version of the GNU C Library is GCC 4.6. Older GCC versions, and non-GNU compilers, can diff --git a/conform/Makefile b/conform/Makefile index b2806b1..cf54722 100644 --- a/conform/Makefile +++ b/conform/Makefile @@ -325,23 +325,15 @@ test-xfail-XOPEN2K/ndbm.h/linknamespace = yes test-xfail-XOPEN2K8/ndbm.h/linknamespace = yes # Unsorted expected failures. -test-xfail-ISO/math.h/linknamespace = yes test-xfail-ISO/stdio.h/linknamespace = yes test-xfail-ISO/time.h/linknamespace = yes -test-xfail-ISO99/complex.h/linknamespace = yes test-xfail-ISO99/ctype.h/linknamespace = yes -test-xfail-ISO99/math.h/linknamespace = yes test-xfail-ISO99/stdio.h/linknamespace = yes -test-xfail-ISO99/tgmath.h/linknamespace = yes -test-xfail-ISO11/complex.h/linknamespace = yes test-xfail-ISO11/ctype.h/linknamespace = yes -test-xfail-ISO11/math.h/linknamespace = yes test-xfail-ISO11/stdio.h/linknamespace = yes -test-xfail-ISO11/tgmath.h/linknamespace = yes test-xfail-XPG3/ctype.h/linknamespace = yes test-xfail-XPG3/fnmatch.h/linknamespace = yes test-xfail-XPG3/glob.h/linknamespace = yes -test-xfail-XPG3/math.h/linknamespace = yes test-xfail-XPG3/regex.h/linknamespace = yes test-xfail-XPG3/search.h/linknamespace = yes test-xfail-XPG3/stdio.h/linknamespace = yes @@ -354,7 +346,6 @@ test-xfail-XPG4/fnmatch.h/linknamespace = yes test-xfail-XPG4/glob.h/linknamespace = yes test-xfail-XPG4/grp.h/linknamespace = yes test-xfail-XPG4/libgen.h/linknamespace = yes -test-xfail-XPG4/math.h/linknamespace = yes test-xfail-XPG4/netdb.h/linknamespace = yes test-xfail-XPG4/pwd.h/linknamespace = yes test-xfail-XPG4/regex.h/linknamespace = yes @@ -370,7 +361,6 @@ test-xfail-XPG4/wordexp.h/linknamespace = yes test-xfail-POSIX/aio.h/linknamespace = yes test-xfail-POSIX/fnmatch.h/linknamespace = yes test-xfail-POSIX/glob.h/linknamespace = yes -test-xfail-POSIX/math.h/linknamespace = yes test-xfail-POSIX/mqueue.h/linknamespace = yes test-xfail-POSIX/pthread.h/linknamespace = yes test-xfail-POSIX/regex.h/linknamespace = yes @@ -387,7 +377,6 @@ test-xfail-UNIX98/fnmatch.h/linknamespace = yes test-xfail-UNIX98/glob.h/linknamespace = yes test-xfail-UNIX98/grp.h/linknamespace = yes test-xfail-UNIX98/libgen.h/linknamespace = yes -test-xfail-UNIX98/math.h/linknamespace = yes test-xfail-UNIX98/mqueue.h/linknamespace = yes test-xfail-UNIX98/netdb.h/linknamespace = yes test-xfail-UNIX98/pthread.h/linknamespace = yes @@ -406,14 +395,12 @@ test-xfail-UNIX98/unistd.h/linknamespace = yes test-xfail-UNIX98/wchar.h/linknamespace = yes test-xfail-UNIX98/wordexp.h/linknamespace = yes test-xfail-XOPEN2K/aio.h/linknamespace = yes -test-xfail-XOPEN2K/complex.h/linknamespace = yes test-xfail-XOPEN2K/fcntl.h/linknamespace = yes test-xfail-XOPEN2K/fmtmsg.h/linknamespace = yes test-xfail-XOPEN2K/fnmatch.h/linknamespace = yes test-xfail-XOPEN2K/glob.h/linknamespace = yes test-xfail-XOPEN2K/grp.h/linknamespace = yes test-xfail-XOPEN2K/libgen.h/linknamespace = yes -test-xfail-XOPEN2K/math.h/linknamespace = yes test-xfail-XOPEN2K/mqueue.h/linknamespace = yes test-xfail-XOPEN2K/net/if.h/linknamespace = yes test-xfail-XOPEN2K/netdb.h/linknamespace = yes @@ -429,18 +416,15 @@ test-xfail-XOPEN2K/sys/mman.h/linknamespace = yes test-xfail-XOPEN2K/sys/statvfs.h/linknamespace = yes test-xfail-XOPEN2K/sys/wait.h/linknamespace = yes test-xfail-XOPEN2K/syslog.h/linknamespace = yes -test-xfail-XOPEN2K/tgmath.h/linknamespace = yes test-xfail-XOPEN2K/time.h/linknamespace = yes test-xfail-XOPEN2K/ucontext.h/linknamespace = yes test-xfail-XOPEN2K/unistd.h/linknamespace = yes test-xfail-XOPEN2K/wordexp.h/linknamespace = yes test-xfail-POSIX2008/aio.h/linknamespace = yes -test-xfail-POSIX2008/complex.h/linknamespace = yes test-xfail-POSIX2008/ctype.h/linknamespace = yes test-xfail-POSIX2008/dirent.h/linknamespace = yes test-xfail-POSIX2008/fcntl.h/linknamespace = yes test-xfail-POSIX2008/grp.h/linknamespace = yes -test-xfail-POSIX2008/math.h/linknamespace = yes test-xfail-POSIX2008/mqueue.h/linknamespace = yes test-xfail-POSIX2008/net/if.h/linknamespace = yes test-xfail-POSIX2008/netdb.h/linknamespace = yes @@ -450,17 +434,14 @@ test-xfail-POSIX2008/semaphore.h/linknamespace = yes test-xfail-POSIX2008/spawn.h/linknamespace = yes test-xfail-POSIX2008/sys/mman.h/linknamespace = yes test-xfail-POSIX2008/sys/statvfs.h/linknamespace = yes -test-xfail-POSIX2008/tgmath.h/linknamespace = yes test-xfail-POSIX2008/time.h/linknamespace = yes test-xfail-POSIX2008/unistd.h/linknamespace = yes test-xfail-XOPEN2K8/aio.h/linknamespace = yes -test-xfail-XOPEN2K8/complex.h/linknamespace = yes test-xfail-XOPEN2K8/dirent.h/linknamespace = yes test-xfail-XOPEN2K8/fcntl.h/linknamespace = yes test-xfail-XOPEN2K8/fmtmsg.h/linknamespace = yes test-xfail-XOPEN2K8/grp.h/linknamespace = yes test-xfail-XOPEN2K8/libgen.h/linknamespace = yes -test-xfail-XOPEN2K8/math.h/linknamespace = yes test-xfail-XOPEN2K8/mqueue.h/linknamespace = yes test-xfail-XOPEN2K8/net/if.h/linknamespace = yes test-xfail-XOPEN2K8/netdb.h/linknamespace = yes @@ -473,6 +454,5 @@ test-xfail-XOPEN2K8/spawn.h/linknamespace = yes test-xfail-XOPEN2K8/sys/mman.h/linknamespace = yes test-xfail-XOPEN2K8/sys/statvfs.h/linknamespace = yes test-xfail-XOPEN2K8/syslog.h/linknamespace = yes -test-xfail-XOPEN2K8/tgmath.h/linknamespace = yes test-xfail-XOPEN2K8/time.h/linknamespace = yes test-xfail-XOPEN2K8/unistd.h/linknamespace = yes diff --git a/sysdeps/ieee754/dbl-64/mpa.c b/sysdeps/ieee754/dbl-64/mpa.c index 9f7f44f..44659cc 100644 --- a/sysdeps/ieee754/dbl-64/mpa.c +++ b/sysdeps/ieee754/dbl-64/mpa.c @@ -50,8 +50,8 @@ #endif #ifndef NO__CONST -const mp_no mpone = { 1, { 1.0, 1.0 } }; -const mp_no mptwo = { 1, { 1.0, 2.0 } }; +const mp_no __mpone = { 1, { 1.0, 1.0 } }; +const mp_no __mptwo = { 1, { 1.0, 2.0 } }; #endif #ifndef NO___ACR @@ -877,7 +877,7 @@ __inv (const mp_no *x, mp_no *y, int p) { __cpy (y, &w, p); __mul (x, &w, y, p); - __sub (&mptwo, y, &z, p); + __sub (&__mptwo, y, &z, p); __mul (&w, &z, y, p); } } diff --git a/sysdeps/ieee754/dbl-64/mpa.h b/sysdeps/ieee754/dbl-64/mpa.h index bf1ad87..a4fb1d4 100644 --- a/sysdeps/ieee754/dbl-64/mpa.h +++ b/sysdeps/ieee754/dbl-64/mpa.h @@ -71,8 +71,8 @@ typedef union double d; } number; -extern const mp_no mpone; -extern const mp_no mptwo; +extern const mp_no __mpone; +extern const mp_no __mptwo; #define X x->d #define Y y->d diff --git a/sysdeps/ieee754/dbl-64/mpatan.c b/sysdeps/ieee754/dbl-64/mpatan.c index 49ecdd2..2f2c544 100644 --- a/sysdeps/ieee754/dbl-64/mpatan.c +++ b/sysdeps/ieee754/dbl-64/mpatan.c @@ -83,10 +83,10 @@ __mpatan (mp_no *x, mp_no *y, int p) { for (i = 0; i < m; i++) { - __add (&mpone, &mpsm, &mpt1, p); + __add (&__mpone, &mpsm, &mpt1, p); __mpsqrt (&mpt1, &mpt2, p); __add (&mpt2, &mpt2, &mpt1, p); - __add (&mptwo, &mpsm, &mpt2, p); + __add (&__mptwo, &mpsm, &mpt2, p); __add (&mpt1, &mpt2, &mpt3, p); __dvd (&mpsm, &mpt3, &mpt1, p); __cpy (&mpt1, &mpsm, p); diff --git a/sysdeps/ieee754/dbl-64/mpatan2.c b/sysdeps/ieee754/dbl-64/mpatan2.c index 5249492..c84a4b3 100644 --- a/sysdeps/ieee754/dbl-64/mpatan2.c +++ b/sysdeps/ieee754/dbl-64/mpatan2.c @@ -52,7 +52,7 @@ __mpatan2 (mp_no *y, mp_no *x, mp_no *z, int p) __mul (&mpt1, &mpt1, &mpt2, p); if (mpt1.d[0] != 0) mpt1.d[0] = 1; - __add (&mpt2, &mpone, &mpt3, p); + __add (&mpt2, &__mpone, &mpt3, p); __mpsqrt (&mpt3, &mpt2, p); __add (&mpt1, &mpt2, &mpt3, p); mpt3.d[0] = Y[0]; diff --git a/sysdeps/ieee754/dbl-64/mpexp.c b/sysdeps/ieee754/dbl-64/mpexp.c index 0096afb..4a4ccdb 100644 --- a/sysdeps/ieee754/dbl-64/mpexp.c +++ b/sysdeps/ieee754/dbl-64/mpexp.c @@ -140,7 +140,7 @@ __mpexp (mp_no *x, mp_no *y, int p) } __dbl_mp (kf, &mpk, p); __dvd (&mpt2, &mpk, &mpt1, p); - __add (&mpone, &mpt1, &mpt2, p); + __add (&__mpone, &mpt1, &mpt2, p); /* Raise polynomial value to the power of 2**m. Put result in y. */ for (k = 0, j = 0; k < m;) diff --git a/sysdeps/ieee754/dbl-64/mplog.c b/sysdeps/ieee754/dbl-64/mplog.c index 75adac9..a0a3779 100644 --- a/sysdeps/ieee754/dbl-64/mplog.c +++ b/sysdeps/ieee754/dbl-64/mplog.c @@ -58,7 +58,7 @@ __mplog (mp_no *x, mp_no *y, int p) mpt1.d[0] = -mpt1.d[0]; __mpexp (&mpt1, &mpt2, p); __mul (x, &mpt2, &mpt1, p); - __sub (&mpt1, &mpone, &mpt2, p); + __sub (&mpt1, &__mpone, &mpt2, p); __add (y, &mpt2, &mpt1, p); __cpy (&mpt1, y, p); } diff --git a/sysdeps/ieee754/dbl-64/sincos32.c b/sysdeps/ieee754/dbl-64/sincos32.c index 6b2fa87..52f7bbc 100644 --- a/sysdeps/ieee754/dbl-64/sincos32.c +++ b/sysdeps/ieee754/dbl-64/sincos32.c @@ -118,11 +118,11 @@ __c32 (mp_no *x, mp_no *y, mp_no *z, int p) __mul (&c, &s, &t, p); __sub (&s, &t, &t1, p); __add (&t1, &t1, &s, p); - __sub (&mptwo, &c, &t1, p); + __sub (&__mptwo, &c, &t1, p); __mul (&t1, &c, &t2, p); __add (&t2, &t2, &c, p); } - __sub (&mpone, &c, y, p); + __sub (&__mpone, &c, y, p); __cpy (&s, z, p); } @@ -352,7 +352,7 @@ __mpranred (double x, mp_no *y, int p) if (c.d[1] >= HALFRAD) { t += 1.0; - __sub (&c, &mpone, &b, p); + __sub (&c, &__mpone, &b, p); __mul (&b, &hp, y, p); } else -- 2.7.4