diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | locale/localeinfo.h | 7 |
2 files changed, 11 insertions, 2 deletions
@@ -1,3 +1,9 @@ +2016-06-28 Stefan Liebler <stli@linux.vnet.ibm.com> + + [BZ #19860] + * locale/localeinfo.h (_NL_CURRENT_DEFINE): + Set _nl_current_LC_CATEGORY_used to two instead of one. + 2016-06-27 Aurelien Jarno <aurelien@aurel32.net> * sysdeps/mips/tst-mode-switch-1.c (main): Converted to ... 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 |