Message ID | 20170901180029.9527-42-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 idna functions to allow direct access within libc.so and > libc.a without using GOT nor PLT. > > [BZ #18822] > * include/idna.h: New file. > * inet/getnameinfo.c: Include <idna.h> instead of > <libidn/idna.h>. > (__idna_to_unicode_lzlz): Removed. > * sysdeps/posix/getaddrinfo.c: Include <idna.h> instead of > <libidn/idna.h>. > (__idna_to_ascii_lz): Removed. > (__idna_to_unicode_lzlz): Likewise. Tested with build-many-glibcs.py. I am checking it in.
diff --git a/include/idna.h b/include/idna.h new file mode 100644 index 0000000000..dcb271d575 --- /dev/null +++ b/include/idna.h @@ -0,0 +1,8 @@ +#ifndef _IDNA_H +#include <libidn/idna.h> + +extern __typeof (idna_to_ascii_lz) __idna_to_ascii_lz attribute_hidden; +extern __typeof (idna_to_unicode_lzlz ) __idna_to_unicode_lzlz + attribute_hidden; + +#endif diff --git a/inet/getnameinfo.c b/inet/getnameinfo.c index b41e555f3c..292e087362 100644 --- a/inet/getnameinfo.c +++ b/inet/getnameinfo.c @@ -73,9 +73,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <scratch_buffer.h> #ifdef HAVE_LIBIDN -# include <libidn/idna.h> -extern int __idna_to_unicode_lzlz (const char *input, char **output, - int flags); +# include <idna.h> #endif #ifndef min diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index ce099bdf9c..c58d54dff5 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -86,10 +86,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <inet/net-internal.h> #ifdef HAVE_LIBIDN -extern int __idna_to_ascii_lz (const char *input, char **output, int flags); -extern int __idna_to_unicode_lzlz (const char *input, char **output, - int flags); -# include <libidn/idna.h> +# include <idna.h> #endif struct gaih_service