summaryrefslogtreecommitdiff
path: root/locale/localeinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'locale/localeinfo.h')
-rw-r--r--locale/localeinfo.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
index 94627f37e4..1f4da920d1 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
@@ -260,12 +260,15 @@ extern __thread struct __locale_data *const *_nl_current_##category \
#define _NL_CURRENT_WORD(category, item) \
((uint32_t) (*_nl_current_##category)->values[_NL_ITEM_INDEX (item)].word)
-/* This is used in lc-CATEGORY.c to define _nl_current_CATEGORY. */
+/* This is used in lc-CATEGORY.c to define _nl_current_CATEGORY. The symbol
+ _nl_current_CATEGORY_used is set to a value unequal to zero to mark this
+ category as used. On S390 the used relocation to load the symbol address
+ can only handle even addresses. */
#define _NL_CURRENT_DEFINE(category) \
__thread struct __locale_data *const *_nl_current_##category \
attribute_hidden = &_nl_global_locale.__locales[category]; \
asm (".globl " __SYMBOL_PREFIX "_nl_current_" #category "_used\n" \
- _NL_CURRENT_DEFINE_ABS (_nl_current_##category##_used, 1));
+ _NL_CURRENT_DEFINE_ABS (_nl_current_##category##_used, 2));
#ifdef HAVE_ASM_SET_DIRECTIVE
# define _NL_CURRENT_DEFINE_ABS(sym, val) ".set " #sym ", " #val
#else