忍者ブログ

なんだか

知らないほうが幸せかもしれない

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

msysでmingw32なgcc-4.8をbootstrapで作ってみるテスト(メッセージの文字化け対策)

メッセージの文字化けが理由がわかりました。
vfprintfのメッセージを出力しているのですが、libibertyに下請け処理があり
それ経由で1byte毎に出力すると最近のwindowsは、漢字等が文字化けするようです。

いまどきのwindowsは、ダサすぎのような
gccがvfprintfをビルドイン関数に置き換えるからのようでした。

メッセージをリダイレクトするとちゃんと読めるので理由がいまひとつなぞです。

差分はこんな感じです。

--- gcc/diagnostic.c.mingw 2013-02-01 22:48:16 +0900
+++ gcc/diagnostic.c 2013-02-01 22:49:51 +0900
@@ -1104,9 +1104,17 @@ fnotice (FILE *file, const char *cmsgid,
 {
   va_list ap;
 
+#if 1
+  char buf[4096];
+  va_start (ap, cmsgid);
+  vsnprintf(buf,sizeof(buf), _(cmsgid), ap);
+  fputs (buf,file);
+  va_end (ap);
+#else
   va_start (ap, cmsgid);
   vfprintf (file, _(cmsgid), ap);
   va_end (ap);
+#endif
 }
 
 /* Inform the user that an error occurred while trying to report some



$ /msys-temp/gcc48/bin/gcc -v
組み込み spec を使用しています。
COLLECT_GCC=C:\msys-temp\gcc48\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/msys-temp/gcc48/bin/../libexec/gcc/mingw32/4.8.0/lto-wrapper.exe
ターゲット: mingw32
configure 設定: ../gcc-4.8-20130127/configure --enable-languages=c,c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry --enable-version-specific-runtime-libs --build=mingw32 --prefix=/msys-temp/gcc48
スレッドモデル: win32
gcc バージョン 4.8.0 20130127 (experimental) (GCC)

拍手[0回]

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

カレンダー

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

フリーエリア

最新CM

最新記事

(07/27)
(03/27)
(03/26)
(03/23)
(03/22)
(03/19)
(03/18)
(03/18)
(03/15)
(03/14)
(03/13)
(03/12)
(03/11)
(03/11)
(03/08)
(03/08)
(03/06)
(03/05)
(03/02)
(03/01)
(02/28)
(02/27)
(02/24)
(02/23)
(02/22)

プロフィール

HN:
kenrou
性別:
非公開

バーコード

ブログ内検索

最古記事

(12/15)
(12/16)
(12/17)
(12/18)
(12/19)
(12/20)
(12/21)
(12/22)
(12/23)
(12/24)
(12/25)
(12/26)
(12/27)
(12/28)
(12/29)
(12/30)
(12/31)
(01/01)
(01/02)
(01/21)
(01/22)
(01/23)
(01/24)
(01/24)
(01/28)

P R

忍者アナライズ

コガネモチ

忍者カウンター

カレンダー

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31