summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 17:48:11 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 17:48:24 -0700
commit87078544f24cfbd355bf2f7e63a0d01ff7c96cca (patch)
tree40347f0d9510bea540d38f6cb4830caca1ba7289
parentdd3121df08d5ee44ba770d12365022aa802fb364 (diff)
downloadglibc-87078544f24cfbd355bf2f7e63a0d01ff7c96cca.tar.gz
glibc-87078544f24cfbd355bf2f7e63a0d01ff7c96cca.tar.xz
glibc-87078544f24cfbd355bf2f7e63a0d01ff7c96cca.zip
Hide internal __tcgetattr function [BZ #18822]
Hide internal __tcgetattr function to allow direct access within libc.so
and libc.a without using GOT nor PLT.

	[BZ #18822]
	* include/termios.h (__tcgetattr): Add libc_hidden_proto.
	* sysdeps/unix/bsd/tcgetattr.c (__tcgetattr): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Likewise.
	* termios/tcgetattr.c (__tcgetattr): Likewise.
-rw-r--r--ChangeLog9
-rw-r--r--include/termios.h1
-rw-r--r--sysdeps/unix/bsd/tcgetattr.c1
-rw-r--r--sysdeps/unix/sysv/linux/tcgetattr.c1
-rw-r--r--termios/tcgetattr.c1
5 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 86d30bedf2..dc58bf1960 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,15 @@
 2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #18822]
+	* include/termios.h (__tcgetattr): Add libc_hidden_proto.
+	* sysdeps/unix/bsd/tcgetattr.c (__tcgetattr): Add
+	libc_hidden_def.
+	* sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Likewise.
+	* termios/tcgetattr.c (__tcgetattr): Likewise.
+
+2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #18822]
 	* include/sys/resource.h (__setrlimit): Add libc_hidden_proto.
 	* resource/setrlimit.c (__setrlimit): Add libc_hidden_def.
 	* sysdeps/mach/hurd/setrlimit.c (__setrlimit): Likewise.
diff --git a/include/termios.h b/include/termios.h
index 1a36e226b8..e2c35ebbae 100644
--- a/include/termios.h
+++ b/include/termios.h
@@ -9,6 +9,7 @@ extern int __tcsetattr (int __fd, int __optional_actions,
 
 extern int __libc_tcdrain (int __fd);
 
+libc_hidden_proto (__tcgetattr)
 libc_hidden_proto (tcsetattr)
 libc_hidden_proto (cfsetispeed)
 libc_hidden_proto (cfsetospeed)
diff --git a/sysdeps/unix/bsd/tcgetattr.c b/sysdeps/unix/bsd/tcgetattr.c
index 1779bb9342..654f1e6407 100644
--- a/sysdeps/unix/bsd/tcgetattr.c
+++ b/sysdeps/unix/bsd/tcgetattr.c
@@ -35,4 +35,5 @@ __tcgetattr (int fd, struct termios *termios_p)
   return __ioctl (fd, TIOCGETA, termios_p);
 }
 
+libc_hidden_def (__tcgetattr)
 weak_alias (__tcgetattr, tcgetattr)
diff --git a/sysdeps/unix/sysv/linux/tcgetattr.c b/sysdeps/unix/sysv/linux/tcgetattr.c
index b1d73d042a..99a59b6cd9 100644
--- a/sysdeps/unix/sysv/linux/tcgetattr.c
+++ b/sysdeps/unix/sysv/linux/tcgetattr.c
@@ -76,4 +76,5 @@ __tcgetattr (int fd, struct termios *termios_p)
   return retval;
 }
 
+libc_hidden_def (__tcgetattr)
 weak_alias (__tcgetattr, tcgetattr)
diff --git a/termios/tcgetattr.c b/termios/tcgetattr.c
index a5c076b1b0..12a56dd30f 100644
--- a/termios/tcgetattr.c
+++ b/termios/tcgetattr.c
@@ -39,4 +39,5 @@ __tcgetattr (int fd, struct termios *termios_p)
 }
 stub_warning (tcgetattr)
 
+libc_hidden_def (__tcgetattr)
 weak_alias (__tcgetattr, tcgetattr)