about summary refs log tree commit diff
path: root/locale/setlocale.c
diff options
context:
space:
mode:
Diffstat (limited to 'locale/setlocale.c')
-rw-r--r--locale/setlocale.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/locale/setlocale.c b/locale/setlocale.c
index a48f171c92..56a875e378 100644
--- a/locale/setlocale.c
+++ b/locale/setlocale.c
@@ -86,11 +86,17 @@ const size_t _nl_category_name_sizes[] =
   };
 
 
+#ifdef NL_CURRENT_INDIRECT
+# define WEAK_POSTLOAD(postload) weak_extern (postload)
+#else
+# define WEAK_POSTLOAD(postload) /* Need strong refs in static linking.  */
+#endif
+
 /* Declare the postload functions used below.  */
 #undef	NO_POSTLOAD
 #define NO_POSTLOAD _nl_postload_ctype /* Harmless thing known to exist.  */
 #define DEFINE_CATEGORY(category, category_name, items, postload) \
-extern void postload (void); weak_extern (postload)
+extern void postload (void); WEAK_POSTLOAD (postload)
 #include "categories.def"
 #undef	DEFINE_CATEGORY
 #undef	NO_POSTLOAD