about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 17:58:08 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 17:58:24 -0700
commitbde06c87b7de97b5cd4721414b11af6e0d09187e (patch)
tree269c7681b717a8b597d21e509899144450e637b5
parentfa4265909edaa5118f7860f452e2fb9da48d0f6e (diff)
downloadglibc-bde06c87b7de97b5cd4721414b11af6e0d09187e.tar.gz
glibc-bde06c87b7de97b5cd4721414b11af6e0d09187e.tar.xz
glibc-bde06c87b7de97b5cd4721414b11af6e0d09187e.zip
Hide internal __new_exitfn function [BZ #18822]
Hide internal __new_exitfn function to allow direct access within libc.so
and libc.a without using GOT nor PLT.

	[BZ #18822]
	* stdlib/exit.h (__new_exitfn): Add attribute_hidden.
-rw-r--r--ChangeLog5
-rw-r--r--stdlib/exit.h4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 85de0ee009..85e4e02941 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
 2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #18822]
+	* stdlib/exit.h (__new_exitfn): Add attribute_hidden.
+
+2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #18822]
 	* mon/gmon.c (__moncontrol): Add libc_hidden_proto and
 	libc_hidden_def.
 
diff --git a/stdlib/exit.h b/stdlib/exit.h
index dbf9f2d01f..eea50725c6 100644
--- a/stdlib/exit.h
+++ b/stdlib/exit.h
@@ -77,8 +77,8 @@ extern bool __exit_funcs_done attribute_hidden;
 __libc_lock_define (extern, __exit_funcs_lock);
 
 
-extern struct exit_function *__new_exitfn (struct exit_function_list **listp);
-
+extern struct exit_function *__new_exitfn (struct exit_function_list **listp)
+  attribute_hidden;
 
 extern void __run_exit_handlers (int status,
 				 struct exit_function_list **listp,