Export only those symbols that are part of public API
authorDmitry V. Levin <ldv@altlinux.org>
Fri, 10 Mar 2017 23:35:30 +0000 (23:35 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 10 Mar 2017 23:35:30 +0000 (23:35 +0000)
Specify -fvisibility=hidden parameter when linking the shared library
using -fPIC, assuming that gcc >= 4 is used.

This change results to unexporting of the following 42 functions:

LZ4F_getErrorCode
LZ4_XXH32
LZ4_XXH32_canonicalFromHash
LZ4_XXH32_copyState
LZ4_XXH32_createState
LZ4_XXH32_digest
LZ4_XXH32_freeState
LZ4_XXH32_hashFromCanonical
LZ4_XXH32_reset
LZ4_XXH32_update
LZ4_XXH64
LZ4_XXH64_canonicalFromHash
LZ4_XXH64_copyState
LZ4_XXH64_createState
LZ4_XXH64_digest
LZ4_XXH64_freeState
LZ4_XXH64_hashFromCanonical
LZ4_XXH64_reset
LZ4_XXH64_update
LZ4_XXH_versionNumber
LZ4_compressHC
LZ4_compressHC2
LZ4_compressHC2_continue
LZ4_compressHC2_limitedOutput
LZ4_compressHC2_limitedOutput_continue
LZ4_compressHC2_limitedOutput_withStateHC
LZ4_compressHC2_withStateHC
LZ4_compressHC_continue
LZ4_compressHC_limitedOutput
LZ4_compressHC_limitedOutput_continue
LZ4_compressHC_limitedOutput_withStateHC
LZ4_compressHC_withStateHC
LZ4_compress_fast_force
LZ4_compress_forceExtDict
LZ4_createHC
LZ4_decompress_safe_forceExtDict
LZ4_freeHC
LZ4_resetStreamStateHC
LZ4_sizeofStreamStateHC
LZ4_slideInputBufferHC
LZ4_uncompress
LZ4_uncompress_unknownOutputSize

lib/Makefile

index c4bc7d2..9a794b8 100644 (file)
@@ -95,7 +95,7 @@ ifneq (,$(filter Windows%,$(OS)))
        @$(CC) $(FLAGS) -DLZ4_DLL_EXPORT=1 -shared $^ -o dll\$@.dll
        dlltool -D dll\liblz4.dll -d dll\liblz4.def -l dll\liblz4.lib
 else
-       @$(CC) $(FLAGS) -shared $^ -fPIC $(SONAME_FLAGS) -o $@
+       @$(CC) $(FLAGS) -shared $^ -fPIC -fvisibility=hidden $(SONAME_FLAGS) -o $@
        @echo creating versioned links
        @ln -sf $@ liblz4.$(SHARED_EXT_MAJOR)
        @ln -sf $@ liblz4.$(SHARED_EXT)