Message ID | 20170901180029.9527-49-hjl.tools@gmail.com |
---|---|
State | New |
Headers | show |
Series | Hide internal functions in libc.so | expand |
On 9/1/17, H.J. Lu <hjl.tools@gmail.com> wrote: > 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. > Tested with build-many-glibcs.py. I am checking it in.
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)