This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.26-432-g8ed3b64


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  8ed3b64330cd24e2a17d8794a871cab034707a33 (commit)
       via  ef9b6f73f45a46d079018f63e2d9184eaa0db1d5 (commit)
      from  8da92e722ca66e35003abf64a77ae529f9989e6a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8ed3b64330cd24e2a17d8794a871cab034707a33

commit 8ed3b64330cd24e2a17d8794a871cab034707a33
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sun Oct 1 14:34:18 2017 -0700

    Mark internal stdlib functions with attribute_hidden [BZ #18822]
    
    Mark internal stdlib functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.  __realpath
    is hidden with libc_hidden_proto and libc_hidden_def since the exported
    realpath is an alias of __realpath.
    
    	[BZ #18822]
    	* include/stdlib.h (__random): Add attribute_hidden.
    	(__random_r): Likewise.
    	(__srandom_r): Likewise.
    	(__initstate_r): Likewise.
    	(__setstate_r): Likewise.
    	(__erand48_r): Likewise.
    	(__nrand48_r): Likewise.
    	(__jrand48_r): Likewise.
    	(__srand48_r): Likewise.
    	(__seed48_r): Likewise.
    	(__lcong48_r): Likewise.
    	(__drand48_iterate): Likewise.
    	(__setenv): Likewise.
    	(__unsetenv): Likewise.
    	(__clearenv): Likewise.
    	(__ptsname_r): Likewise.
    	(__posix_openpt): Likewise.
    	(__add_to_environ): Likewise.
    	(__realpath): Add libc_hidden_proto.
    	(__ecvt_r): Likewise.
    	(__fcvt_r): Likewise.
    	(__qecvt_r): Likewise.
    	(__qfcvt_r): Likewise.
    	* misc/efgcvt_r.c (cvt_symbol_1): Add libc_hidden_def (local).
    	* stdlib/canonicalize.c (__realpath): Add libc_hidden_def.

diff --git a/ChangeLog b/ChangeLog
index b011e83..e940586 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,35 @@
 2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #18822]
+	* include/stdlib.h (__random): Add attribute_hidden.
+	(__random_r): Likewise.
+	(__srandom_r): Likewise.
+	(__initstate_r): Likewise.
+	(__setstate_r): Likewise.
+	(__erand48_r): Likewise.
+	(__nrand48_r): Likewise.
+	(__jrand48_r): Likewise.
+	(__srand48_r): Likewise.
+	(__seed48_r): Likewise.
+	(__lcong48_r): Likewise.
+	(__drand48_iterate): Likewise.
+	(__setenv): Likewise.
+	(__unsetenv): Likewise.
+	(__clearenv): Likewise.
+	(__ptsname_r): Likewise.
+	(__posix_openpt): Likewise.
+	(__add_to_environ): Likewise.
+	(__realpath): Add libc_hidden_proto.
+	(__ecvt_r): Likewise.
+	(__fcvt_r): Likewise.
+	(__qecvt_r): Likewise.
+	(__qfcvt_r): Likewise.
+	* misc/efgcvt_r.c (cvt_symbol_1): Add libc_hidden_def (local).
+	* stdlib/canonicalize.c (__realpath): Add libc_hidden_def.
+
+2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #18822]
 	* include/stdlib.h (__ptsname_internal): Add attribute_hidden.
 	* include/time.h (__mktime_internal): Likewise.
 	* libio/iolibio.h (__fopen_internal): Likewise.
diff --git a/include/stdlib.h b/include/stdlib.h
index 2274790..c0fcb95 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -36,56 +36,65 @@ libc_hidden_proto (__qsort_r)
 libc_hidden_proto (lrand48_r)
 libc_hidden_proto (wctomb)
 
-extern long int __random (void);
+extern long int __random (void) attribute_hidden;
 extern void __srandom (unsigned int __seed);
 extern char *__initstate (unsigned int __seed, char *__statebuf,
 			  size_t __statelen);
 extern char *__setstate (char *__statebuf);
-extern int __random_r (struct random_data *__buf, int32_t *__result);
-extern int __srandom_r (unsigned int __seed, struct random_data *__buf);
+extern int __random_r (struct random_data *__buf, int32_t *__result)
+     attribute_hidden;
+extern int __srandom_r (unsigned int __seed, struct random_data *__buf)
+     attribute_hidden;
 extern int __initstate_r (unsigned int __seed, char *__statebuf,
-			  size_t __statelen, struct random_data *__buf);
-extern int __setstate_r (char *__statebuf, struct random_data *__buf);
+			  size_t __statelen, struct random_data *__buf)
+     attribute_hidden;
+extern int __setstate_r (char *__statebuf, struct random_data *__buf)
+     attribute_hidden;
 extern int __rand_r (unsigned int *__seed);
 extern int __erand48_r (unsigned short int __xsubi[3],
-			struct drand48_data *__buffer, double *__result);
+			struct drand48_data *__buffer, double *__result)
+     attribute_hidden;
 extern int __nrand48_r (unsigned short int __xsubi[3],
 			struct drand48_data *__buffer,
-			long int *__result);
+			long int *__result) attribute_hidden;
 extern int __jrand48_r (unsigned short int __xsubi[3],
 			struct drand48_data *__buffer,
-			long int *__result);
+			long int *__result) attribute_hidden;
 extern int __srand48_r (long int __seedval,
-			struct drand48_data *__buffer);
+			struct drand48_data *__buffer) attribute_hidden;
 extern int __seed48_r (unsigned short int __seed16v[3],
-		       struct drand48_data *__buffer);
+		       struct drand48_data *__buffer) attribute_hidden;
 extern int __lcong48_r (unsigned short int __param[7],
-			struct drand48_data *__buffer);
+			struct drand48_data *__buffer) attribute_hidden;
 
 /* Internal function to compute next state of the generator.  */
 extern int __drand48_iterate (unsigned short int __xsubi[3],
-			      struct drand48_data *__buffer);
+			      struct drand48_data *__buffer)
+     attribute_hidden;
 
 /* Global state for non-reentrant functions.  Defined in drand48-iter.c.  */
 extern struct drand48_data __libc_drand48_data attribute_hidden;
 
-extern int __setenv (const char *__name, const char *__value, int __replace);
-extern int __unsetenv (const char *__name);
-extern int __clearenv (void);
+extern int __setenv (const char *__name, const char *__value, int __replace)
+     attribute_hidden;
+extern int __unsetenv (const char *__name) attribute_hidden;
+extern int __clearenv (void) attribute_hidden;
 extern char *__mktemp (char *__template) __THROW __nonnull ((1));
 extern char *__canonicalize_file_name (const char *__name);
 extern char *__realpath (const char *__name, char *__resolved);
-extern int __ptsname_r (int __fd, char *__buf, size_t __buflen);
+libc_hidden_proto (__realpath)
+extern int __ptsname_r (int __fd, char *__buf, size_t __buflen)
+     attribute_hidden;
 # ifndef _ISOMAC
 extern int __ptsname_internal (int fd, char *buf, size_t buflen,
 			       struct stat64 *stp) attribute_hidden;
 # endif
 extern int __getpt (void);
-extern int __posix_openpt (int __oflag);
+extern int __posix_openpt (int __oflag) attribute_hidden;
 
 extern int __add_to_environ (const char *name, const char *value,
-			     const char *combines, int replace);
-
+			     const char *combines, int replace)
+     attribute_hidden;
 extern void _quicksort (void *const pbase, size_t total_elems,
 			size_t size, __compar_d_fn_t cmp, void *arg);
 
@@ -250,9 +259,11 @@ extern char *__gcvt (double __value, int __ndigit, char *__buf);
 extern int __ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
 		     int *__restrict __sign, char *__restrict __buf,
 		     size_t __len);
+libc_hidden_proto (__ecvt_r)
 extern int __fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
 		     int *__restrict __sign, char *__restrict __buf,
 		     size_t __len);
+libc_hidden_proto (__fcvt_r)
 extern char *__qecvt (long double __value, int __ndigit,
 		      int *__restrict __decpt, int *__restrict __sign);
 extern char *__qfcvt (long double __value, int __ndigit,
@@ -261,9 +272,11 @@ extern char *__qgcvt (long double __value, int __ndigit, char *__buf);
 extern int __qecvt_r (long double __value, int __ndigit,
 		      int *__restrict __decpt, int *__restrict __sign,
 		      char *__restrict __buf, size_t __len);
+libc_hidden_proto (__qecvt_r)
 extern int __qfcvt_r (long double __value, int __ndigit,
 		      int *__restrict __decpt, int *__restrict __sign,
 		      char *__restrict __buf, size_t __len);
+libc_hidden_proto (__qfcvt_r)
 
 # if IS_IN (libc)
 #  undef MB_CUR_MAX
diff --git a/misc/efgcvt_r.c b/misc/efgcvt_r.c
index e34c455..7bd3d16 100644
--- a/misc/efgcvt_r.c
+++ b/misc/efgcvt_r.c
@@ -240,6 +240,7 @@ __APPEND (FUNC_PREFIX, ecvt_r) (FLOAT_TYPE value, int ndigit, int *decpt,
   cvt_symbol_1 (libc, __APPEND (FUNC_PREFIX, symbol), \
 	      APPEND (FUNC_PREFIX, symbol), GLIBC_2_4)
 #  define cvt_symbol_1(lib, local, symbol, version) \
+    libc_hidden_def (local) \
     versioned_symbol (lib, local, symbol, version)
 # else
 #  define cvt_symbol(symbol) \
@@ -247,11 +248,15 @@ __APPEND (FUNC_PREFIX, ecvt_r) (FLOAT_TYPE value, int ndigit, int *decpt,
 	      APPEND (q, symbol), GLIBC_2_0); \
   weak_alias (__APPEND (FUNC_PREFIX, symbol), APPEND (FUNC_PREFIX, symbol))
 #  define cvt_symbol_1(lib, local, symbol, version) \
+  libc_hidden_def (local) \
   compat_symbol (lib, local, symbol, version)
 # endif
 #else
 # define cvt_symbol(symbol) \
-  weak_alias (__APPEND (FUNC_PREFIX, symbol), APPEND (FUNC_PREFIX, symbol))
+  cvt_symbol_1 (__APPEND (FUNC_PREFIX, symbol), APPEND (FUNC_PREFIX, symbol))
+#  define cvt_symbol_1(local, symbol) \
+  libc_hidden_def (local) \
+  weak_alias (local, symbol)
 #endif
 cvt_symbol(fcvt_r);
 cvt_symbol(ecvt_r);
diff --git a/stdlib/canonicalize.c b/stdlib/canonicalize.c
index c3d892c..4ff7e0f 100644
--- a/stdlib/canonicalize.c
+++ b/stdlib/canonicalize.c
@@ -218,6 +218,7 @@ error:
     free (rpath);
   return NULL;
 }
+libc_hidden_def (__realpath)
 versioned_symbol (libc, __realpath, realpath, GLIBC_2_3);
 
 

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=ef9b6f73f45a46d079018f63e2d9184eaa0db1d5

commit ef9b6f73f45a46d079018f63e2d9184eaa0db1d5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sun Oct 1 14:33:26 2017 -0700

    Mark 3 *_internal functions with attribute_hidden [BZ #18822]
    
    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.

diff --git a/ChangeLog b/ChangeLog
index 593ac83..b011e83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #18822]
+	* include/stdlib.h (__ptsname_internal): Add attribute_hidden.
+	* include/time.h (__mktime_internal): Likewise.
+	* libio/iolibio.h (__fopen_internal): Likewise.
+
 2017-10-01  John David Anglin  <danglin@gcc.gnu.org>
 
 	* sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Save return
diff --git a/include/stdlib.h b/include/stdlib.h
index c4a6e6f..2274790 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 3249132..870b7eb 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 f215fce..754d8b0 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*);

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog             |   36 +++++++++++++++++++++++++++++++++
 include/stdlib.h      |   53 ++++++++++++++++++++++++++++++------------------
 include/time.h        |    2 +-
 libio/iolibio.h       |    3 +-
 misc/efgcvt_r.c       |    7 +++++-
 stdlib/canonicalize.c |    1 +
 6 files changed, 79 insertions(+), 23 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]