タイトルはそれをかなりうまく言っています。Makefileを使用する巨大なプロジェクトがあります。GCCでプロジェクト全体のデバッグダンプ(たとえば、-fdump-tree-gimple)を実行するにはどうすればよいですか?
質問する
356 次
1 に答える
1
コンパイラを実行するたびに(つまり、ソースファイルまたはオプションを使用してgccを呼び出すたびに)、コンパイル文字列にパスする必要があります-fdump-tree-gimple
(実際には、の代わりに任意のパス名を入力するgimple
か、すべてのツリーパスをダンプします)。任意のソースファイル名のダンプフォームが作業ディレクトリ(多くの場合、ビルドフォルダ)に表示されます(XXXは003のようなパス番号であり、gccのバージョンによって異なります)。また、すべてのダンプを単一のダンプディレクトリに収集するように指定することもできます。これは、混乱を避けるために便利です。all
-c
filename.c.XXX.gimple
-dumpdir
あなたはあなたのmakefileでそれをどのように行いますか-あなた次第です。これをに追加するか$CFLAGS
(ダンプはコンパイルフラグの一部であるため、最も一般的な解決策)、特別な変数を作成して渡すか、makefile内にハードコーディングすることができます。
ltoを使用してプロジェクトを構築している場合は、2番目のリンクステージでもこれらのフラグを渡す必要があります(つまり、LDFLAGSなどに追加します)。
于 2013-02-06T12:52:44.590 に答える