AR# 19126

|

6.1 EDK mb-gcc - C と ASM の両方のデバッグ情報を使用して ELF ファイルを生成する方法

説明

キーワード : gcc, -g, -gstabs

重要度 : 標準

概要 :
EDK 6.1 では、C コードのコンパイル、アセンブル、余分のアセンブリ コードとのリンク、両方のコードの GDB でのデバッグが 1 つの GCC コマンドでできません。 -g オプションを C コードのデバッグに、-gstabs コードをアセンブラ リストに使用すると、GDB がクラッシュします。

ソリューション

この問題を回避するには、アセンブリ コードのアセンブリとは別に C コードをコンパイルおよびアセンブルします。その後、これら 2 つのオブジェクトをリンカに渡します。 この方法を使用すると、-g および -gstabs オプションは C および ASM コードに正しく設定されます。

アセンブリ コード foo.s ファイルと C main.c ファイルを使用した次のコマンド例では、目的の結果が得られます。

mb-gcc -c -g main.c
mb-gcc -c -Wall -Wa,-gstabs foo.s
mb-gcc main.o foo.o -o test.elf
mb-gdb test.elf

この問題は、今後修正される予定です。
AR# 19126
日付 04/28/2006
ステータス アーカイブ
種類 一般
People Also Viewed