背景
由于需要,去编译centos5可用内核,成功编译了i386(实际i686)的5.10内核,要编译x86_64时出现此问题。
问题
ld: warning: arch/x86/kvm/../../../virt/kvm/kvm_main.o has a corrupt section with a size (7472747368732e00) larger than the file size
arch/x86/kvm/../../../virt/kvm/kvm_main.o: file not recognized: file format not recognized
解决
centos5自带的libelf:
rpm -qa | grep libelf
elfutils-libelf-devel-static-0.137-3.el5
elfutils-libelf-devel-0.137-3.el5
elfutils-libelf-devel-static-0.137-3.el5
elfutils-libelf-0.137-3.el5
elfutils-libelf-0.137-3.el5
elfutils-libelf-devel-0.137-3.el5
是0.137,但此问题在0.158解决,因此只能自编译升级,以此记录。
参考
- linux-kernel - Re: Static call dependency on libelf version?
- linux-kernel - Re: Static call dependency on libelf version?
0