objtool 无法在 RHEL 9.1 上构建,我收到 make 警告和 objtool 编译错误,为什么?

objtool 无法在 RHEL 9.1 上构建,我收到 make 警告和 objtool 编译错误,为什么?

我在 RHEL 9.1 上也遇到同样的问题。有谁知道可能是什么原因造成的?

我尝试运行 make 并继续收到以下错误:

make[1]: Entering directory '/usr/src/kernels/5.14.0-162.12.1.el9_1.x86_64'
scripts/Makefile.build:481: warning: overriding recipe for target 'modules.order'
Makefile:1506: warning: ignoring old recipe for target 'modules.order'
  DESCEND objtool
make[3]: *** [Makefile:55: /usr/src/kernels/5.14.0-162.12.1.el9_1.x86_64/tools/objtool/objtool-in.o] Error 1
make[2]: *** [Makefile:69: objtool] Error 2
make[1]: *** [Makefile:1412: tools/objtool] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.14.0-162.12.1.el9_1.x86_64'
make: *** [Makefile:24: all] Error 2

有什么想法为什么会发生这种情况吗?

答案1

找到了解决方案为什么使用“SUBDIRS=...”编译内核模块在较新的内核上失败?:

在以前的内核版本中,我曾经 make -C /lib/modules/$(uname -r)/build SUBDIRS=/my/src/dir modules构建过一个模块。

对于较新的内核,它必须是 M 而不是 SUBDIRS, make -C /lib/modules/$(uname -r)/build M=/my/src/dir modules

也可以看看https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_monitoring_and_updating_the_kernel/managing-kernel-modules_managing-monitoring-and-updating-the-kernel#proc_compiling-custom-kernel-modules_managing-kernel-模块

相关内容