| Index: sys-libs/zlib/files/zlib-1.2.3-visibility-support.patch
|
| diff --git a/sys-libs/zlib/files/zlib-1.2.3-visibility-support.patch b/sys-libs/zlib/files/zlib-1.2.3-visibility-support.patch
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ceb065e9c7bb90760757a59e33f27aff198f9226
|
| --- /dev/null
|
| +++ b/sys-libs/zlib/files/zlib-1.2.3-visibility-support.patch
|
| @@ -0,0 +1,45 @@
|
| +Only export symbols that should be exported.
|
| +
|
| +Patch by Mike Frysinger
|
| +
|
| +http://bugs.gentoo.org/32764
|
| +http://bugs.gentoo.org/149929
|
| +
|
| +--- zlib-1.2.3/configure
|
| ++++ zlib-1.2.3/configure
|
| +@@ -209,6 +209,20 @@
|
| + fi
|
| +
|
| + cat > $test.c <<EOF
|
| ++int foo __attribute__ ((visibility ("hidden")));
|
| ++int main()
|
| ++{
|
| ++ return 0;
|
| ++}
|
| ++EOF
|
| ++if ($CC -c -fvisibility=hidden $CFLAGS $test.c) 2>/dev/null; then
|
| ++ CFLAGS="$CFLAGS -DHAS_attribute_visibility -fvisibility=hidden"
|
| ++ echo "Checking for attribute(visibility) support... Yes."
|
| ++else
|
| ++ echo "Checking for attribute(visibility) support... No."
|
| ++fi
|
| ++
|
| ++cat > $test.c <<EOF
|
| + #include <stdio.h>
|
| + #include <stdarg.h>
|
| + #include "zconf.h"
|
| +--- zlib-1.2.3/zconf.in.h
|
| ++++ zlib-1.2.3/zconf.in.h
|
| +@@ -244,7 +244,11 @@
|
| + #endif
|
| +
|
| + #ifndef ZEXTERN
|
| +-# define ZEXTERN extern
|
| ++# if defined(ZLIB_INTERNAL) && defined(HAS_attribute_visibility)
|
| ++# define ZEXTERN extern __attribute__ ((visibility("default")))
|
| ++# else
|
| ++# define ZEXTERN extern
|
| ++# endif
|
| + #endif
|
| + #ifndef ZEXPORT
|
| + # define ZEXPORT
|
|
|