When printing out the contents of the LC_MONETARY section the locale utility seems to strip all but the first character from the currency_symbol (see the test case below). While this doesn't appear to affect localized programs (since the locale generated by the localedef utility is correct) it is causing failures in a number of locale tests (since they use a series of localedef and locale commands to verify that the same locale can be generated from the original sources as from the sources produced by the locale utility run on the generated locale).
$ cat foo.src && ./localedef -w -c -f /nfs/devco/sebor/stdcxx/etc/nls/charmaps/ISO-8859-1 -i foo.src foo && LC_MONETARY=./foo ./locale -ck LC_MONETARY | grep currency_symbol && strings foo/LC_MONETARY
LC_MONETARY
int_curr_symbol "ABCD"
currency_symbol "klmn"
END LC_MONETARY
currency_symbol="k"
ABCD
klmn
ISO-8859-1
ISO-8859-1