web-dev-qa-db-ja.com

objdump:ファイル形式が認識されません

Gentooで新しいカーネルをコンパイルしようとすると、これらのエラーが発生します...

scripts/kconfig/conf  --syncconfig Kconfig
  DESCEND  objtool
  CC      kernel/bounds.s
  CC      Arch/x86/kernel/asm-offsets.s
  GEN     scripts/gdb/linux/constants.py
  CALL    scripts/checksyscalls.sh
  CC [M]  Arch/x86/kvm/../../../virt/kvm/kvm_main.o
  CC      init/main.o
  CC      kernel/bpf/core.o
  CC      Arch/x86/ia32/sys_ia32.o
  CC      Arch/x86/kernel/acpi/boot.o
  CC      Arch/x86/events/AMD/core.o
  CC      certs/system_keyring.o
  CC      Arch/x86/entry/vdso/vma.o
  CC      Arch/x86/crypto/sha1-mb/sha1_mb.o
objdump: certs/.tmp_system_keyring.o: unable to initialize decompress status for section .debug_info
objdump: certs/.tmp_system_keyring.o: unable to initialize decompress status for section .debug_info
objdump: certs/.tmp_system_keyring.o: file format not recognized
  EXTRACT_CERTS
  AS      certs/system_certificates.o
  AR      certs/built-in.a
objdump: Arch/x86/ia32/.tmp_sys_ia32.o: unable to initialize decompress status for section .debug_info
objdump: Arch/x86/ia32/.tmp_sys_ia32.o: unable to initialize decompress status for section .debug_info
objdump: Arch/x86/ia32/.tmp_sys_ia32.o: file format not recognized
objdump: Arch/x86/events/AMD/.tmp_core.o: unable to initialize decompress status for section .debug_info
objdump: Arch/x86/events/AMD/.tmp_core.o: unable to initialize decompress status for section .debug_info
objdump: Arch/x86/events/AMD/.tmp_core.o: file format not recognized
  CC      Arch/x86/ia32/ia32_signal.o
  CC      Arch/x86/mm/init.o
  CC      Arch/x86/events/AMD/uncore.o
objdump: Arch/x86/entry/vdso/.tmp_vma.o: unable to initialize decompress status for section .debug_info
objdump: Arch/x86/entry/vdso/.tmp_vma.o: unable to initialize decompress status for section .debug_info
objdump: Arch/x86/entry/vdso/.tmp_vma.o: file format not recognized
  CC      Arch/x86/entry/vdso/vdso32-setup.o
objdump: Arch/x86/kernel/acpi/.tmp_boot.o: unable to initialize decompress status for section .debug_info
objdump: Arch/x86/kernel/acpi/.tmp_boot.o: unable to initialize decompress status for section .debug_info
objdump: Arch/x86/kernel/acpi/.tmp_boot.o: file format not recognized
  CC      Arch/x86/kernel/acpi/sleep.o
  AR      Arch/x86/crypto/sha1-mb/built-in.a
objdump: init/.tmp_main.o: unable to initialize decompress status for section .debug_info
objdump: init/.tmp_main.o: unable to initialize decompress status for section .debug_info
objdump: init/.tmp_main.o: file format not recognized
...

binutils(objdumpの元となるパッケージ)を再構築しましたが、効果がありませんでした。

他のパッケージ/ソフトウェアを問題なくコンパイルしてインストールできますが、これによりカーネルのコンパイルが完了しません。

1
slackline

bug 67165 によると、elfutils-0.175には配置に問題があります。

リンカーld.goldに切り替えると、セクションの配置に関する大量の警告が明らかになりました。

elfutils-0.173に戻してみてください。

# emerge dev-libs/elfutils-0.173

そして、カーネルを再構築します。

私のシステムのsys-kernel/gentoo-sources-4.19.3は、elfutils-0.173で正常にビルドおよびロードされます。

2
Kamil Kamiński