diff options
author | Joseph Myers <joseph@codesourcery.com> | 2018-02-28 14:16:21 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2018-02-28 14:16:21 +0000 |
commit | 000f290ff179c9910f09b7f76797bdab575abb15 (patch) | |
tree | e7e72e734cfaf808babedbad962d8f6469828a72 | |
parent | 02f2fead8f702676a4691781432dff2422669dfd (diff) | |
download | glibc-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-- | ChangeLog | 8 | ||||
-rw-r--r-- | include/inttypes.h | 6 | ||||
-rw-r--r-- | sysdeps/wordsize-32/strtoumax.c | 1 | ||||
-rw-r--r-- | sysdeps/wordsize-64/strtoumax.c | 1 |
4 files changed, 16 insertions, 0 deletions
@@ -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) |