This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 02/58] Mark 3 *_internal functions with attribute_hidden [BZ #18822]
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: libc-alpha at sourceware dot org
- Date: Sun, 1 Oct 2017 14:21:21 -0700
- Subject: Re: [PATCH 02/58] Mark 3 *_internal functions with attribute_hidden [BZ #18822]
- Authentication-results: sourceware.org; auth=none
- References: <20170901180029.9527-1-hjl.tools@gmail.com> <20170901180029.9527-3-hjl.tools@gmail.com>
On 9/1/17, H.J. Lu <hjl.tools@gmail.com> wrote:
> Mark __ptsname_internal, __mktime_internal and __fopen_internal with
> attribute_hidden to allow direct access to them within libc.so and
> libc.a without using GOT nor PLT.
>
> [BZ #18822]
> * include/stdlib.h (__ptsname_internal): Add attribute_hidden.
> * include/time.h (__mktime_internal): Likewise.
> * libio/iolibio.h (__fopen_internal): Likewise.
> ---
> include/stdlib.h | 2 +-
> include/time.h | 2 +-
> libio/iolibio.h | 3 ++-
> 3 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/include/stdlib.h b/include/stdlib.h
> index c4a6e6f737..2274790a2e 100644
> --- a/include/stdlib.h
> +++ b/include/stdlib.h
> @@ -78,7 +78,7 @@ extern char *__realpath (const char *__name, char
> *__resolved);
> extern int __ptsname_r (int __fd, char *__buf, size_t __buflen);
> # ifndef _ISOMAC
> extern int __ptsname_internal (int fd, char *buf, size_t buflen,
> - struct stat64 *stp);
> + struct stat64 *stp) attribute_hidden;
> # endif
> extern int __getpt (void);
> extern int __posix_openpt (int __oflag);
> diff --git a/include/time.h b/include/time.h
> index 9fb0e329a3..e8c07bbfea 100644
> --- a/include/time.h
> +++ b/include/time.h
> @@ -54,7 +54,7 @@ extern void __tz_compute (time_t timer, struct tm *tm, int
> use_localtime)
> extern time_t __mktime_internal (struct tm *__tp,
> struct tm *(*__func) (const time_t *,
> struct tm *),
> - time_t *__offset);
> + time_t *__offset) attribute_hidden;
> extern struct tm *__localtime_r (const time_t *__timer,
> struct tm *__tp) attribute_hidden;
>
> diff --git a/libio/iolibio.h b/libio/iolibio.h
> index f215fcef01..754d8b0650 100644
> --- a/libio/iolibio.h
> +++ b/libio/iolibio.h
> @@ -23,7 +23,8 @@ extern _IO_FILE *_IO_fopen (const char*, const char*);
> extern _IO_FILE *_IO_old_fopen (const char*, const char*);
> extern _IO_FILE *_IO_new_fopen (const char*, const char*);
> extern _IO_FILE *_IO_fopen64 (const char*, const char*);
> -extern _IO_FILE *__fopen_internal (const char*, const char*, int);
> +extern _IO_FILE *__fopen_internal (const char*, const char*, int)
> + attribute_hidden;
> extern _IO_FILE *__fopen_maybe_mmap (_IO_FILE *) __THROW;
> extern int _IO_fprintf (_IO_FILE*, const char*, ...);
> extern int _IO_fputs (const char*, _IO_FILE*);
> --
> 2.13.5
>
>
Tested with build-many-glibcs.py. I am checking it in.
--
H.J.