diff options
Diffstat (limited to 'locale/setlocale.c')
-rw-r--r-- | locale/setlocale.c | 8 |
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 |