summaryrefslogtreecommitdiff
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