2017-01-07 4 views
2

Linaro 6を使用してコンパイルしようとしていますが、GCC 6と何か関係があると思われるこのエラーが表示されます。私はカーネルをコンパイルするか、そのことをコードで非常に素人だけど、私も同様の用語を検索し、これを見つけ出すことができませんでした:Androidカーネルでエラーが発生するgcc6 linaro 6

CC  drivers/iommu/msm_iommu-v1.o 
In file included from include/linux/io.h:22:0, 
       from drivers/iommu/msm_iommu-v1.c:20: 
drivers/iommu/msm_iommu-v1.c: In function '__program_context': 
drivers/iommu/msm_iommu_hw-v1.h:78:31: warning: result of '16777215 << 14' requires 39 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=] 
error, forbidden warning: msm_iommu_hw-v1.h:78 
scripts/Makefile.build:308: recipe for target 'drivers/iommu/msm_iommu-v1.o' failed 

これは私のGitHubのです:

https://github.com/mykesorrel/surnia_kernel

答えて

1

は次のようになりますそのiommuドライバのバグ。 longの代わりにintにビットシフトしようとしていますが、intには操作を完了するのに十分なビットがありません。私は-Wno-errorが使用されていないと推測しているので、すべての警告はエラーとして扱われます。

この質問はあなたを助ける:How to compile without warnings being treated as errors?

私は個人的にやることは(Linuxを使っていると仮定)私の.bashrcに更新CFLAGSあります。これは私が使用しているものです:

+0

ありがとう私は代わりに、より良く動作するように見えました、なぜ他のものが動作していないのかわかりませんでした。 – Mike

関連する問題