From 87078544f24cfbd355bf2f7e63a0d01ff7c96cca Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 1 Oct 2017 17:48:11 -0700 Subject: [PATCH] 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. --- ChangeLog | 9 +++++++++ include/termios.h | 1 + sysdeps/unix/bsd/tcgetattr.c | 1 + sysdeps/unix/sysv/linux/tcgetattr.c | 1 + termios/tcgetattr.c | 1 + 5 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index 86d30be..dc58bf1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,15 @@ 2017-10-01 H.J. Lu [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 + + [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) -- 2.7.4