2009年07月01日
Linux kernel が GCC 4.1.[01] ではコンパイルできない問題
以前少しはまってしまったのですが、Linux kernel 2.6.29 は、gcc 4.1.[01] ではコンパイルできなくなったようです。
エラーメッセージを頼りに linux-2.6.29/include/compiler-gcc4.h を見てみると、なるほど。
どうやらミスコンパイルが起こるので、はじかれているようです。
この時に入ったようですね。
http://kerneltrap.org/mailarchive/git-commits-head/2009/1/2/4576264/thread
Linux Kernel 2.6.28 のリリースが 2008 年 12 月で、2.6.29 のリリースが 2009 年 3 月ですから、その間に入った変更のようです。
エラーメッセージを頼りに linux-2.6.29/include/compiler-gcc4.h を見てみると、なるほど。
/* GCC 4.1.[01] miscompiles __weak */
#if __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ <= 1
# error Your version of gcc miscompiles the __weak directive
#endif
どうやらミスコンパイルが起こるので、はじかれているようです。
この時に入ったようですね。
http://kerneltrap.org/mailarchive/git-commits-head/2009/1/2/4576264/thread
Linux Kernel 2.6.28 のリリースが 2008 年 12 月で、2.6.29 のリリースが 2009 年 3 月ですから、その間に入った変更のようです。