原因很简单:编译的内核版本比较低,而gcc版本比较高。
打个比方:我编译的是2.26.39的内核,2.26.39的内核支持的 gcc最高版本是4.x.y的,所以源码中只有compiler-gcc3.h和compiler-gcc4.h,而我用来编译的gcc是5.x.y的,那么编译的时候就会报标题这个错误了(linux/compiler-gcc5.h: No such file or directory)。
解决办法:
从新版本的内核源码拷贝include/linux/compiler-gcc5.h。
或者,编译新版本的内核吧。