about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 15:17:19 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 15:17:32 -0700
commitb0f5678494d727b6868435dfc32b066ade6d3e49 (patch)
tree71a8c2c77620e4e45f4c4b23306c189206b288a6
parenta4338d994fe4b1802db040140153b4b6bc36c817 (diff)
downloadglibc-b0f5678494d727b6868435dfc32b066ade6d3e49.tar.gz
glibc-b0f5678494d727b6868435dfc32b066ade6d3e49.tar.xz
glibc-b0f5678494d727b6868435dfc32b066ade6d3e49.zip
Mark internal time functions with attribute_hidden [BZ #18822]
Mark internal time functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.

	[BZ #18822]
	* include/time.h (__tzstring): Add attribute_hidden.
	(__tzfile_read): Likewise.
	(__tzfile_compute): Likewise.
	(__tzfile_default): Likewise.
	(__tzset_parse_tz): Likewise.
	(__offtime): Likewise.
	(__asctime_r): Likewise.
	(__tzset): Likewise.
	(__tz_convert): Likewise.
	(__getdate_r): Likewise.
	(__getclktck): Likewise.
-rw-r--r--ChangeLog15
-rw-r--r--include/time.h26
2 files changed, 30 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 170d07972e..4a8d173be5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,21 @@
 2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #18822]
+	* include/time.h (__tzstring): Add attribute_hidden.
+	(__tzfile_read): Likewise.
+	(__tzfile_compute): Likewise.
+	(__tzfile_default): Likewise.
+	(__tzset_parse_tz): Likewise.
+	(__offtime): Likewise.
+	(__asctime_r): Likewise.
+	(__tzset): Likewise.
+	(__tz_convert): Likewise.
+	(__getdate_r): Likewise.
+	(__getclktck): Likewise.
+
+2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #18822]
 	* nscd/nscd-client.h (__nscd_get_map_ref): Add attribute_hidden.
 	(__nscd_unmap): Likewise.
 	(__nscd_cache_search): Likewise.
diff --git a/include/time.h b/include/time.h
index e8c07bbfea..aab26d7768 100644
--- a/include/time.h
+++ b/include/time.h
@@ -33,18 +33,19 @@ extern const unsigned short int __mon_yday[2][13] attribute_hidden;
 extern struct tm _tmbuf attribute_hidden;
 
 /* Defined in tzset.c.  */
-extern char *__tzstring (const char *string);
+extern char *__tzstring (const char *string) attribute_hidden;
 
 extern int __use_tzfile attribute_hidden;
 
 extern void __tzfile_read (const char *file, size_t extra,
-			   char **extrap);
+			   char **extrap) attribute_hidden;
 extern void __tzfile_compute (time_t timer, int use_localtime,
 			      long int *leap_correct, int *leap_hit,
-			      struct tm *tp);
+			      struct tm *tp) attribute_hidden;
 extern void __tzfile_default (const char *std, const char *dst,
-			      long int stdoff, long int dstoff);
-extern void __tzset_parse_tz (const char *tz);
+			      long int stdoff, long int dstoff)
+  attribute_hidden;
+extern void __tzset_parse_tz (const char *tz) attribute_hidden;
 extern void __tz_compute (time_t timer, struct tm *tm, int use_localtime)
   __THROW attribute_hidden;
 
@@ -68,22 +69,25 @@ libc_hidden_proto (__gmtime_r)
    Return nonzero if successful.  */
 extern int __offtime (const time_t *__timer,
 		      long int __offset,
-		      struct tm *__tp);
+		      struct tm *__tp) attribute_hidden;
 
-extern char *__asctime_r (const struct tm *__tp, char *__buf);
-extern void __tzset (void);
+extern char *__asctime_r (const struct tm *__tp, char *__buf)
+  attribute_hidden;
+extern void __tzset (void) attribute_hidden;
 
 /* Prototype for the internal function to get information based on TZ.  */
-extern struct tm *__tz_convert (const time_t *timer, int use_localtime, struct tm *tp);
+extern struct tm *__tz_convert (const time_t *timer, int use_localtime,
+				struct tm *tp) attribute_hidden;
 
 extern int __nanosleep (const struct timespec *__requested_time,
 			struct timespec *__remaining);
 hidden_proto (__nanosleep)
-extern int __getdate_r (const char *__string, struct tm *__resbufp);
+extern int __getdate_r (const char *__string, struct tm *__resbufp)
+  attribute_hidden;
 
 
 /* Determine CLK_TCK value.  */
-extern int __getclktck (void);
+extern int __getclktck (void) attribute_hidden;
 
 
 /* strptime support.  */