【问题标题】:Error in building kernel module sched_tp.ko构建内核模块 sched_tp.ko 时出错
【发布时间】:2022-11-03 04:50:34
【问题描述】:

我已经按照以下说明构建了支持 FTrace 和调试信息的 Linux 内核:

$ cd /path/to/linux-debug-workshop
$ source /path/to/environment-setup-aarch64-poky-linux
$ make training_defconfig
$ ./scripts/config -e CONFIG_FTRACE
$ ./scripts/config -e CONFIG_DEBUG_INFO
$ ./scripts/config -e CONFIG_DEBUG_INFO_DWARF5
$ ./scripts/config -e CONFIG_DEBUG_INFO_BTF
$ ./scripts/config -d CONFIG_DEBUG_INFO_REDUCED
$ make -j$(nproc) Image dtbs modules

以上步骤在 /path/to/linux-debug-workshop 下生成“vmlinux”。我需要按照以下说明构建内核模块 sched_tp.ko:

$ cd /path/to/lisa
$ source /path/to/poky/poky/3.1.9/environment-setup-aarch64-poky-linux
$ source init_env
$ ./tools/kmodules/build_module \
/path/to/linux-debug-workshop ./tools/kmodules/sched_tp/

在尝试构建时,我在最后一步中收到以下错误:

Building module for ARCH=arm64
make: Entering directory 'linux-debug-workshop/lisa/tools/kmodules/sched_tp'
make -C /linux-debug-workshop M=/linux-debug-workshop/lisa/tools/kmodules/sched_tp modules
make[1]: Entering directory '/linux-debug-workshop'

pahole -F btf,dwarf -E --suppress_force_paddings --show_only_data_members --skip_missing --expand_types_once --expanded_prefix "KERNEL_PRIVATE_" -C file:///linux-debug-workshop/lisa/tools/kmodules/sched_tp/private_types.txt /linux-debug-workshop/vmlinux > _header

**pahole: /linux-debug-workshop/vmlinux: Invalid argument**

我检查了pahole版本:v1.23

【问题讨论】:

  • DWARF v5 是非常新的。你的pahole支持吗?
  • @stark 似乎 pahole 从 1.13 开始支持 DWARF5,并在此过程中添加了额外的支持(1.20、1.21、1.23)。不确定它是否支持所需的一切。

标签: linux ubuntu linux-kernel pahole


【解决方案1】:

LISA 维护者,我需要更多输入来帮助您找出问题所在。

由于我纯粹是偶然发现了这个问题,晚了 4 个月,并且需要进一步查询(这显然违反了 SO 回答政策),所以最好的选择是在 GitHub 错误跟踪器上打开票证,我们可以从那里获取: https://github.com/ARM-software/lisa/issues

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 2017-01-01
    • 2011-05-22
    • 2021-10-20
    • 1970-01-01
    • 2019-07-22
    • 2013-03-28
    相关资源
    最近更新 更多