[41/58] Hide internal idna functions [BZ #18822]
Commit Message
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.
---
include/idna.h | 8 ++++++++
inet/getnameinfo.c | 4 +---
sysdeps/posix/getaddrinfo.c | 5 +----
3 files changed, 10 insertions(+), 7 deletions(-)
create mode 100644 include/idna.h
Comments
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.
new file mode 100644
@@ -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
@@ -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
@@ -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