about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 15:56:04 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 15:56:27 -0700
commit0389a6aaae6d07f69de5b42345293ec578337de2 (patch)
tree511cd267d840c729b617fe7ded69df4e7d2fc3bd
parentd48354d86087ba63acb7e2b20fb604c0b6ba4352 (diff)
downloadglibc-0389a6aaae6d07f69de5b42345293ec578337de2.tar.gz
glibc-0389a6aaae6d07f69de5b42345293ec578337de2.tar.xz
glibc-0389a6aaae6d07f69de5b42345293ec578337de2.zip
Mark internal netlink functions with attribute_hidden [BZ #18822]
Mark internal netlink functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.

	[BZ #18822]
	* sysdeps/unix/sysv/linux/netlinkaccess.h (__netlink_open): Add
	attribute_hidden.
	(__netlink_close): Likewise.
	(__netlink_free_handle): Likewise.
	(__netlink_request): Likewise.
-rw-r--r--ChangeLog9
-rw-r--r--sysdeps/unix/sysv/linux/netlinkaccess.h10
2 files changed, 15 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 9ede6b7920..8117cc1b6a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,15 @@
 2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #18822]
+	* sysdeps/unix/sysv/linux/netlinkaccess.h (__netlink_open): Add
+	attribute_hidden.
+	(__netlink_close): Likewise.
+	(__netlink_free_handle): Likewise.
+	(__netlink_request): Likewise.
+
+2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #18822]
 	* include/rpc/rpc.h (__rpc_thread_variables): Add
 	attribute_hidden.
 	(__rpc_thread_svc_cleanup): Likewise.
diff --git a/sysdeps/unix/sysv/linux/netlinkaccess.h b/sysdeps/unix/sysv/linux/netlinkaccess.h
index 66bbbe6158..f4973e2a04 100644
--- a/sysdeps/unix/sysv/linux/netlinkaccess.h
+++ b/sysdeps/unix/sysv/linux/netlinkaccess.h
@@ -44,10 +44,12 @@ struct netlink_handle
 };
 
 
-extern int __netlink_open (struct netlink_handle *h);
-extern void __netlink_close (struct netlink_handle *h);
-extern void __netlink_free_handle (struct netlink_handle *h);
-extern int __netlink_request (struct netlink_handle *h, int type);
+extern int __netlink_open (struct netlink_handle *h) attribute_hidden;
+extern void __netlink_close (struct netlink_handle *h) attribute_hidden;
+extern void __netlink_free_handle (struct netlink_handle *h)
+     attribute_hidden;
+extern int __netlink_request (struct netlink_handle *h, int type)
+     attribute_hidden;
 
 /* Terminate the process if RESULT is an invalid recvmsg result for
    the netlink socket FD.  */