At Tue, 15 Jan 2002 09:41:22 +0900, Tomohiro KUBOTA wrote: > Translated messages of gcc-2.95/cpp-2.95/g++-2.95/g77-2.95 is not > displayed well. All non-ASCII characters are replaced with "?" > (question mark).
This problem is resolved with the attached patch. This patch disables setlocale(LC_MESSAGES, ...) if MULTIBYTE_CHARS is disabled, because MULTIBYTE_CHARS kick on setlocale(LC_CTYPE, ...), but this flag is currently off for safety reason on linux. The patch for debian/rules.patch: --- debian/rules.patch.vanilla Sun Jan 20 01:24:47 2002 +++ debian/rules.patch Sun Jan 20 01:25:57 2002 @@ -60,13 +60,13 @@ libstdc++-out-of-mem libstdc++-wstring \ libstdc++-bastring \ gcc-manpage cpp-dos-newlines libio-doc gcc-doc \ - strength-red + strength-red gcc-message all_patches += bootstrap cpp-macro-doc \ gcc-default-arch \ libstdc++-out-of-mem libstdc++-wstring \ libstdc++-bastring \ gcc-manpage cpp-dos-newlines libio-doc gcc-doc \ - strength-red + strength-red gcc-message min_patches += bootstrap cpp-macro-doc \ libio-doc gcc-doc The new patch for debian/patches/gcc-messages.dpatch: #! /bin/sh -e # All lines beginning with `# DPATCH:' are a description of the patch. # DP: avoid setlocale(LC_MESSAGES, ...) not to set LC_MESSAGES, because # DP: some environment except for setting LANG=C fail to display libc # DP: message. if [ $# -eq 3 -a "$2" = '-d' ]; then pdir="-d $3" elif [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;; -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 esac exit 0 2002-01-20 GOTO Masanori <[EMAIL PROTECTED]> * cccp.c: avoid setlocale(LC_MESSAGES, ...) if MULTIBYTE_CHARS is not set. * collect2.c: likewise. * cppmain.c: likewise. * gcc.c: likewise. * gcov.c: likewise. * protoize.c: likewise. * toplev.c: likewise. --- gcc.vanilla/cccp.c Wed Sep 19 13:32:46 2001 +++ gcc/cccp.c Sun Jan 20 00:56:45 2002 @@ -1246,7 +1246,9 @@ #endif #ifdef HAVE_LC_MESSAGES +#ifdef MULTIBYTE_CHARS setlocale (LC_MESSAGES, ""); +#endif #endif (void) bindtextdomain (PACKAGE, localedir); (void) textdomain (PACKAGE); --- gcc.vanilla/collect2.c Fri Jan 26 04:39:42 2001 +++ gcc/collect2.c Sun Jan 20 00:57:10 2002 @@ -1018,7 +1018,9 @@ #endif #ifdef HAVE_LC_MESSAGES +#ifdef MULTIBYTE_CHARS setlocale (LC_MESSAGES, ""); +#endif #endif (void) bindtextdomain (PACKAGE, localedir); (void) textdomain (PACKAGE); --- gcc.vanilla/cppmain.c Tue May 11 00:24:36 1999 +++ gcc/cppmain.c Sun Jan 20 00:57:39 2002 @@ -53,7 +53,9 @@ progname = p; #ifdef HAVE_LC_MESSAGES +#ifdef MULTIBYTE_CHARS setlocale (LC_MESSAGES, ""); +#endif #endif (void) bindtextdomain (PACKAGE, localedir); (void) textdomain (PACKAGE); --- gcc.vanilla/gcc.c Wed Oct 3 13:33:43 2001 +++ gcc/gcc.c Sun Jan 20 00:58:00 2002 @@ -4654,7 +4654,9 @@ programname = p; #ifdef HAVE_LC_MESSAGES +#ifdef MULTIBYTE_CHARS setlocale (LC_MESSAGES, ""); +#endif #endif (void) bindtextdomain (PACKAGE, localedir); (void) textdomain (PACKAGE); --- gcc.vanilla/gcov.c Sat Apr 17 04:52:19 1999 +++ gcc/gcov.c Sun Jan 20 00:58:30 2002 @@ -227,7 +227,9 @@ char **argv; { #ifdef HAVE_LC_MESSAGES +#ifdef MULTIBYTE_CHARS setlocale (LC_MESSAGES, ""); +#endif #endif (void) bindtextdomain (PACKAGE, localedir); (void) textdomain (PACKAGE); --- gcc.vanilla/protoize.c Sat Apr 17 04:52:36 1999 +++ gcc/protoize.c Sun Jan 20 00:56:14 2002 @@ -4559,7 +4559,9 @@ pname = pname ? pname+1 : argv[0]; #ifdef HAVE_LC_MESSAGES +#ifdef MULTIBYTE_CHARS setlocale (LC_MESSAGES, ""); +#endif #endif (void) bindtextdomain (PACKAGE, localedir); (void) textdomain (PACKAGE); --- gcc.vanilla/toplev.c Sat Apr 7 13:32:43 2001 +++ gcc/toplev.c Sun Jan 20 00:59:14 2002 @@ -4791,7 +4791,9 @@ #endif #ifdef HAVE_LC_MESSAGES +#ifdef MULTIBYTE_CHARS setlocale (LC_MESSAGES, ""); +#endif #endif (void) bindtextdomain (PACKAGE, localedir); (void) textdomain (PACKAGE); The test result of this patch: [EMAIL PROTECTED]:~/debian/sample/gcc/gcc-2.95-2.95.4.ds8/build-native/gcc> ./xgcc aaa xgcc: aaa: No such file or directory xgcc: No input files [EMAIL PROTECTED]:~/debian/sample/gcc/gcc-2.95-2.95.4.ds8/build-native/gcc> setenv | grep LANG LANG=ja_JP.eucJP -- gotom