---
 Source/GSPrivate.h | 9 +++++++--
 Source/NSThread.m  | 2 +-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/Source/GSPrivate.h b/Source/GSPrivate.h
index faa61bc..24053ad 100644
--- a/Source/GSPrivate.h
+++ b/Source/GSPrivate.h
@@ -35,8 +35,10 @@
 
 #if ( (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) ) && HAVE_VISIBILITY_ATTRIBUTE )
 #define GS_ATTRIB_PRIVATE __attribute__ ((visibility("internal")))
+#define GS_ATTRIB_HIDDEN __attribute__ ((visibility("hidden")))
 #else
 #define GS_ATTRIB_PRIVATE
+#define GS_ATTRIB_HIDDEN
 #endif
 
 /* Absolute Gregorian date for NSDate reference date Jan 01 2001
@@ -549,11 +551,14 @@ GSPrivateDispatchInitialize(void) GS_ATTRIB_PRIVATE;
 
 /* These functions are used by libdispatch to initialize
  * NSAutoreleasePool for its worker threads.
+ * We must *REALLY* define them as hidden instead of internal
+ * because they are callbacks given to libdispatch which is
+ * an external module.
  */
 void*
-GSPrivateAutoreleasePoolAllocate(void) GS_ATTRIB_PRIVATE;
+GSPrivateAutoreleasePoolAllocate(void) GS_ATTRIB_HIDDEN;
 void
-GSPrivateAutoreleasePoolDeallocate(void* param) GS_ATTRIB_PRIVATE;
+GSPrivateAutoreleasePoolDeallocate(void* param) GS_ATTRIB_HIDDEN;
 #endif /* GS_HAVE_LIBDISPATCH_COMPAT */
 
 
diff --git a/Source/NSThread.m b/Source/NSThread.m
index 8bce09b..8aef9c4 100644
--- a/Source/NSThread.m
+++ b/Source/NSThread.m
@@ -92,7 +92,7 @@
 #  define MAIN_PTHREAD_NEEDS_LOAD 1
 #  define IS_MAIN_PTHREAD pthread_equal(_main_pthread, pthread_self())
 /* clang is whining if it's static so make it global internal... */
-__attribute__((visibility("internal"))) pthread_t _main_pthread;
+GS_ATTRIB_PRIVATE pthread_t _main_pthread;
 #endif
 
 
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to