libosmogsm: Introduce explicit list of exported symbols

There is now a "libosmogsm.map" file containing an explicit list of
to-be-exported symbols.  This should prevent us from leaking non-static
symbols into the global namespace.

A similar scheme should be adopted by all other osmocom libraries
diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am
index 46d40a1..b65f2a2 100644
--- a/src/gsm/Makefile.am
+++ b/src/gsm/Makefile.am
@@ -3,7 +3,7 @@
 LIBVERSION=2:0:1
 
 INCLUDES = $(all_includes) -I$(top_srcdir)/include
-AM_CFLAGS = -fPIC -Wall
+AM_CFLAGS = -fPIC -Wall ${GCC_FVISIBILITY_HIDDEN}
 
 # FIXME: this should eventually go into a milenage/Makefile.am
 noinst_HEADERS = milenage/aes.h milenage/aes_i.h milenage/aes_wrap.h \
@@ -21,5 +21,5 @@
 			milenage/aes-encblock.c milenage/aes-internal.c \
 			milenage/aes-internal-enc.c milenage/milenage.c
 
-libosmogsm_la_LDFLAGS = -version-info $(LIBVERSION)
+libosmogsm_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libosmogsm.map -version-info $(LIBVERSION)
 libosmogsm_la_LIBADD = $(top_builddir)/src/libosmocore.la