AR# 29380

|

11.1 EDK - GCC 4.1.1 の PowerPC のサポート

説明

キーワード : GDB, bin, util, known, issue, GNU, compile, debug, 既知の問題, コンパイル, デバッグ

PowerPC で GCC 4.1.1 を使用する際の問題点を教えてください。

ソリューション

PowerPC Binutils

- powerpc-eabi-strip を使用すると実行ファイルの内容が破損し、ファイル サイズが大きくなることがあります。この問題を回避する方法はありません。

- 新しい C++ コンパイラでは、「.sdata*.*. 」という名前のセクションが作成されます。EDK 8.2i 以前の BSB およびその他のツールで生成されたリンカ スクリプトには、これに対応するセクションがないため、これらの新しいセクションが正しく割り当てられません。revup を使用するとリンカ スクリプトが自動的にアップデートされ、セクションが追加されます。

- powerpc-eabi-objdump -S では、ディスアセンブルのソースとアセンブリが統合されません。この問題は次のいずれかの方法で回避できます。
-- ソースが含まれるディレクトリから powerpc-eabi-objdump を起動する。
-- -gstabs を使用してアプリケーションをコンパイルする。ただしこの方法はデバッグに影響を及ぼすため、推奨されません。

PowerPC GCC

- memcpy、printf などの適切なヘッダ ファイルを含めずにビルトイン関数を使用した場合、コンパイラから警告が表示されます。警告が表示されないようにするには、含めるリストに適切なヘッダ ファイルを追加してください。

- C 規格に従い、GCC-4.1.1での汎用値のサポートは削除されました。次のようなコードは変更が必要です。

変更前 :

(char *) var = "STRING";

変更後 :

var = (char *) "STRING";

PowerPC Newlib

- atexit () では、32 個までの exit 関数の登録のみがサポートされます。これは、atexit() を使用しないプログラムでコードが必要以上に大きくなるのを防ぐためです。また C 規格では、atexit () でサポートされる exit 関数は 32 個までです。


AR# 29380
日付 12/15/2012
ステータス アクティブ
種類 一般
People Also Viewed