Use libc_hidden_* for atoi (bug 15105)

Message ID alpine.DEB.2.20.1802212323470.22339@digraph.polyomino.org.uk
State New
Headers show
Series
  • Use libc_hidden_* for atoi (bug 15105)
Related show

Commit Message

Joseph Myers Feb. 21, 2018, 11:24 p.m.
Continuing the fixes for localplt test failures with -Os arising from
functions not being inlined in that case, this patch fixes such
failures for atoi by using libc_hidden_proto and libc_hidden_def.

Tested for x86_64 (both that it removes this particular localplt
failure for -Os - but other such failures remain so the bug can't yet
be closed - and that the testsuite continues to pass without -Os).

2018-02-21  Joseph Myers  <joseph@codesourcery.com>

	[BZ #15105]
	* stdlib/atoi.c (atoi): Use libc_hidden_def.
	* include/stdlib.h [!_ISOMAC] (atoi): Use libc_hidden_proto.


-- 
Joseph S. Myers
joseph@codesourcery.com

Comments

Joseph Myers Feb. 26, 2018, 6:07 p.m. | #1
Ping.  This patch 
<https://sourceware.org/ml/libc-alpha/2018-02/msg00602.html> is pending 
review.

-- 
Joseph S. Myers
joseph@codesourcery.com
H.J. Lu Feb. 26, 2018, 6:09 p.m. | #2
On Wed, Feb 21, 2018 at 3:24 PM, Joseph Myers <joseph@codesourcery.com> wrote:
> Continuing the fixes for localplt test failures with -Os arising from

> functions not being inlined in that case, this patch fixes such

> failures for atoi by using libc_hidden_proto and libc_hidden_def.

>

> Tested for x86_64 (both that it removes this particular localplt

> failure for -Os - but other such failures remain so the bug can't yet

> be closed - and that the testsuite continues to pass without -Os).

>

> 2018-02-21  Joseph Myers  <joseph@codesourcery.com>

>

>         [BZ #15105]

>         * stdlib/atoi.c (atoi): Use libc_hidden_def.

>         * include/stdlib.h [!_ISOMAC] (atoi): Use libc_hidden_proto.

>

> diff --git a/include/stdlib.h b/include/stdlib.h

> index 5974fb3..114e12d 100644

> --- a/include/stdlib.h

> +++ b/include/stdlib.h

> @@ -210,6 +210,8 @@ libc_hidden_proto (strtoll)

>  libc_hidden_proto (strtoul)

>  libc_hidden_proto (strtoull)

>

> +libc_hidden_proto (atoi)

> +

>  extern float __strtof_nan (const char *, char **, char);

>  extern double __strtod_nan (const char *, char **, char);

>  extern long double __strtold_nan (const char *, char **, char);

> diff --git a/stdlib/atoi.c b/stdlib/atoi.c

> index a6c3f1d..c428584 100644

> --- a/stdlib/atoi.c

> +++ b/stdlib/atoi.c

> @@ -26,3 +26,4 @@ atoi (const char *nptr)

>  {

>    return (int) strtol (nptr, (char **) NULL, 10);

>  }

> +libc_hidden_def (atoi)

>


LGTM.

Thanks.

-- 
H.J.

Patch

diff --git a/include/stdlib.h b/include/stdlib.h
index 5974fb3..114e12d 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -210,6 +210,8 @@  libc_hidden_proto (strtoll)
 libc_hidden_proto (strtoul)
 libc_hidden_proto (strtoull)
 
+libc_hidden_proto (atoi)
+
 extern float __strtof_nan (const char *, char **, char);
 extern double __strtod_nan (const char *, char **, char);
 extern long double __strtold_nan (const char *, char **, char);
diff --git a/stdlib/atoi.c b/stdlib/atoi.c
index a6c3f1d..c428584 100644
--- a/stdlib/atoi.c
+++ b/stdlib/atoi.c
@@ -26,3 +26,4 @@  atoi (const char *nptr)
 {
   return (int) strtol (nptr, (char **) NULL, 10);
 }
+libc_hidden_def (atoi)