aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-02-28 14:16:21 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-02-28 14:16:21 +0000
commit000f290ff179c9910f09b7f76797bdab575abb15 (patch)
treee7e72e734cfaf808babedbad962d8f6469828a72
parent02f2fead8f702676a4691781432dff2422669dfd (diff)
downloadglibc-000f290ff179c9910f09b7f76797bdab575abb15.tar
glibc-000f290ff179c9910f09b7f76797bdab575abb15.tar.gz
glibc-000f290ff179c9910f09b7f76797bdab575abb15.tar.bz2
glibc-000f290ff179c9910f09b7f76797bdab575abb15.zip
Use libc_hidden_* for strtoumax (bug 15105).
On sparc, localplt test failures appear when building with -Os because of a call to strtoumax from sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c, and strtoumax is not inlined when building with -Os. This patch fixes those failures by using libc_hidden_proto and libc_hidden_def for strtoumax. Tested with build-many-glibcs.py for sparc64-linux-gnu-disable-multi-arch, sparc64-linux-gnu, sparcv9-linux-gnu-disable-multi-arch, sparcv9-linux-gnu that this fixes that test failure with -Os. [BZ #15105] * sysdeps/wordsize-32/strtoumax.c (strtoumax): Use libc_hidden_def. * sysdeps/wordsize-64/strtoumax.c (strtoumax): Likewise. * include/inttypes.h: New file.
-rw-r--r--ChangeLog8
-rw-r--r--include/inttypes.h6
-rw-r--r--sysdeps/wordsize-32/strtoumax.c1
-rw-r--r--sysdeps/wordsize-64/strtoumax.c1
4 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 72f03aa396..56ef28678a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2018-02-28 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #15105]
+ * sysdeps/wordsize-32/strtoumax.c (strtoumax): Use
+ libc_hidden_def.
+ * sysdeps/wordsize-64/strtoumax.c (strtoumax): Likewise.
+ * include/inttypes.h: New file.
+
2018-02-27 Joseph Myers <joseph@codesourcery.com>
* locale/weightwc.h (findidx): Ignore -Wmaybe-uninitialized for
diff --git a/include/inttypes.h b/include/inttypes.h
new file mode 100644
index 0000000000..33219e2a9f
--- /dev/null
+++ b/include/inttypes.h
@@ -0,0 +1,6 @@
+#ifndef _INTTYPES_H
+#include_next <inttypes.h>
+#ifndef _ISOMAC
+libc_hidden_proto (strtoumax)
+#endif
+#endif
diff --git a/sysdeps/wordsize-32/strtoumax.c b/sysdeps/wordsize-32/strtoumax.c
index 7f19ff0756..cabd4d8c8d 100644
--- a/sysdeps/wordsize-32/strtoumax.c
+++ b/sysdeps/wordsize-32/strtoumax.c
@@ -25,3 +25,4 @@ strtoumax (const char *__restrict nptr, char **__restrict endptr, int base)
{
return __strtoull_internal (nptr, endptr, base, 0);
}
+libc_hidden_def (strtoumax)
diff --git a/sysdeps/wordsize-64/strtoumax.c b/sysdeps/wordsize-64/strtoumax.c
index bc7dd43cae..04468458df 100644
--- a/sysdeps/wordsize-64/strtoumax.c
+++ b/sysdeps/wordsize-64/strtoumax.c
@@ -25,3 +25,4 @@ strtoumax (const char *__restrict nptr, char **__restrict endptr, int base)
{
return __strtoul_internal (nptr, endptr, base, 0);
}
+libc_hidden_def (strtoumax)