From 14878f9e463ecd5b8c86cfb644e56174c175d04d Mon Sep 17 00:00:00 2001
From: Nikos Mavrogiannopoulos <nmav@redhat.com>
Date: Thu, 10 Mar 2016 16:45:35 +0100
Subject: [PATCH 1/3] gmp-glue: don't export internal symbols used by gmp-glue

---
 gmp-glue.h             | 40 ++++++++++++++++++++--------------------
 testsuite/Makefile.in  |  4 ++--
 testsuite/symbols-test |  2 +-
 3 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/gmp-glue.h b/gmp-glue.h
index 7713757..8cf2962 100644
--- a/gmp-glue.h
+++ b/gmp-glue.h
@@ -49,35 +49,35 @@
 
 /* Name mangling. */
 #if !GMP_HAVE_mpz_limbs_read
-#define mpz_limbs_read _nettle_mpz_limbs_read
-#define mpz_limbs_write _nettle_mpz_limbs_write
-#define mpz_limbs_modify _nettle_mpz_limbs_modify
-#define mpz_limbs_finish _nettle_mpz_limbs_finish
-#define mpz_roinit_n _nettle_mpz_roinit_n
+#define mpz_limbs_read _inettle_mpz_limbs_read
+#define mpz_limbs_write _inettle_mpz_limbs_write
+#define mpz_limbs_modify _inettle_mpz_limbs_modify
+#define mpz_limbs_finish _inettle_mpz_limbs_finish
+#define mpz_roinit_n _inettle_mpz_roinit_n
 #endif
 
 #if !GMP_HAVE_mpn_copyd
-#define mpn_copyd _nettle_mpn_copyd
-#define mpn_copyi _nettle_mpn_copyi
-#define mpn_zero  _nettle_mpn_zero
+#define mpn_copyd _inettle_mpn_copyd
+#define mpn_copyi _inettle_mpn_copyi
+#define mpn_zero  _inettle_mpn_zero
 #endif
 
 #ifndef mpn_sqr
 #define mpn_sqr(rp, ap, n) mpn_mul_n((rp), (ap), (ap), (n))
 #endif
 
-#define cnd_swap _nettle_cnd_swap
-#define mpz_limbs_cmp _nettle_mpz_limbs_cmp
-#define mpz_limbs_read_n _nettle_mpz_limbs_read_n
-#define mpz_limbs_copy _nettle_mpz_limbs_copy
-#define mpz_set_n _nettle_mpz_set_n
-#define mpn_set_base256 _nettle_mpn_set_base256
-#define mpn_set_base256_le _nettle_mpn_set_base256_le
-#define mpn_get_base256_le _nettle_mpn_get_base256_le
-#define gmp_alloc_limbs _nettle_gmp_alloc_limbs
-#define gmp_free_limbs _nettle_gmp_free_limbs
-#define gmp_free _nettle_gmp_free
-#define gmp_alloc _nettle_gmp_alloc
+#define cnd_swap _inettle_cnd_swap
+#define mpz_limbs_cmp _inettle_mpz_limbs_cmp
+#define mpz_limbs_read_n _inettle_mpz_limbs_read_n
+#define mpz_limbs_copy _inettle_mpz_limbs_copy
+#define mpz_set_n _inettle_mpz_set_n
+#define mpn_set_base256 _inettle_mpn_set_base256
+#define mpn_set_base256_le _inettle_mpn_set_base256_le
+#define mpn_get_base256_le _inettle_mpn_get_base256_le
+#define gmp_alloc_limbs _inettle_gmp_alloc_limbs
+#define gmp_free_limbs _inettle_gmp_free_limbs
+#define gmp_free _inettle_gmp_free
+#define gmp_alloc _inettle_gmp_alloc
 
 #define TMP_GMP_DECL(name, type) type *name;	\
   size_t tmp_##name##_size
diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
index 02c18fc..aa84141 100644
--- a/testsuite/Makefile.in
+++ b/testsuite/Makefile.in
@@ -63,7 +63,7 @@ EXTRA_TARGETS = $(EXTRA_SOURCES:.c=$(EXEEXT))
 
 
 # Includes all C source files, regardless of configuration
-SOURCES = $(TS_SOURCES) $(EXTRA_SOURCES) testutils.c dlopen-test.c
+SOURCES = $(TS_SOURCES) $(EXTRA_SOURCES) testutils.c dlopen-test.c ../gmp-glue.c
 
 DISTFILES = $(SOURCES) $(CXX_SOURCES) Makefile.in .test-rules.make \
 	    $(TS_SH) setup-env teardown-env \
@@ -84,7 +84,7 @@ all: $(EXTRA_TARGETS)
 # explicit rule for each and every executable.
 
 LIB_HOGWEED = @IF_HOGWEED@ -lhogweed
-TEST_OBJS = testutils.$(OBJEXT) ../nettle-internal.$(OBJEXT) \
+TEST_OBJS = testutils.$(OBJEXT) ../gmp-glue.$(OBJEXT) ../nettle-internal.$(OBJEXT) \
 	    $(LIB_HOGWEED) -lnettle $(LIBS)
 
 ../nettle-internal.$(OBJEXT):
diff --git a/testsuite/symbols-test b/testsuite/symbols-test
index 051d3d2..2aaac33 100755
--- a/testsuite/symbols-test
+++ b/testsuite/symbols-test
@@ -27,7 +27,7 @@ if [ -s test1.out ] ; then
 fi
 
 if [ -s ../libhogweed.a ] ; then
-    PATTERN='\.?_?_?nettle_|get_pc_thunk'
+    PATTERN='\.?_?_?nettle_|_inettle_|get_pc_thunk'
     if grep '^#define.*NETTLE_USE_MINI_GMP.*1$' ../version.h >/dev/null ; then
 	PATTERN="$PATTERN|_?(mp_|mpz_|mpn_)"
     fi
-- 
2.5.0

