aboutsummaryrefslogtreecommitdiff
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.zip
glibc-87078544f24cfbd355bf2f7e63a0d01ff7c96cca.tar.gz
glibc-87078544f24cfbd355bf2f7e63a0d01ff7c96cca.tar.bz2
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 86d30be..dc58bf1 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 1a36e22..e2c35eb 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 1779bb93..654f1e6 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 b1d73d0..99a59b6 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 a5c076b..12a56dd 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)