Cross LFS - PPC - コンパイル中にエラーが発生しました

Cross LFS - PPC - コンパイル中にエラーが発生しました

PPC 8270プロセッサ用のCLFSを構築しようとしています。このコマンドを使用するまで、すべてが大丈夫ですmake ARCH=powerpc CROSS_COMPILE=${CLFS_TARGET}-

CC      arch/powerpc/kernel/align.o
arch/powerpc/kernel/align.c: In function 'fix_alignment':
arch/powerpc/kernel/align.c:704:33: error: variable 'instruction' set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors

make[1]: *** [arch/powerpc/kernel/align.o] Error 1
make: *** [arch/powerpc/kernel] Error 2

では、menuconfigPPC 82XXプロセッサフ​​ァミリとの互換性を選択することを除いて、デフォルト設定を使用しました。

ベストアンサー1

これはalign.c 2.6.39以前のGCC> = 4.6のバグのようです。私はあなたが最新のFedoraを使用して構築しており、デフォルトでインストールされているGCCはGCC 4.6であると推測します。 GCC < 4.6 IMHOでは、このエラーは表示されません。

変数 "instruction"は704行で宣言され、0に初期化されます。その後、746行目で再割り当てします。この再割り当ては、gcc警告を抑制するのに十分ではない。コンパイルを通じてこの動作を確認しました。

int main()
{
    int i = 0;

    i = 4;
    return 1;
} 

そして/usr/local/gcc-4.7.0/bin/gcc -Wall -o test test.c得る

test.c:3:6: warning: variable ‘i’ set but not used [-Wunused-but-set-variable]

変数「指示文」はifdefのCONFIG_VSXコード内でのみ参照されるため、CONFIG_VSXを設定しないとGCC> = 4.6にコンパイルするとこの問題が発生します。 CONFIG_VSX を設定すると問題が解決します。これが望ましくない場合は、menuconfigでCONFIG_PPC_DISABLE_WERRORを設定してみてください。これら-Werror をオフにしたりコードをパッチしたりするのに役立つガイダンスです。

コードにパッチを適用している場合は、このバグがまだ3.3に存在するため、kernel.orgに送信することを検討してください。

おすすめ記事