linux - 如何保留 Linux 内核模块构建的 asm 输出

标签 linux makefile linux-kernel linux-device-driver embedded-linux

我正在为 2.6.x 内核开发一个 Linux 内核模块,我需要查看程序集输出,尽管它目前是作为一个临时文件和一个已删除的后记来完成的。我希望将程序集输出与我的 C 源文件混合,这样我就可以很容易地找到我的问题所在。这是针对 ARMv6 内核的,显然 objdump 不支持这种架构。我在下面包含了我的 makefile。

ETREP=/xxSourceTreexx/
GNU_BIN=$(ETREP)/arm-none-linux-gnueabi/bin
CROSS_COMPILE := $(GNU_BIN)/arm-none-linux-gnueabi-
ARCH := arm
KDIR=$(ETREP)/linux-2.6.31/
MAKE= CROSS_COMPILE=$(CROSS_COMPILE) ARCH=$(ARCH) make
obj-m += xxfile1xx.o

all:
 $(MAKE) -C $(KDIR) M=$(PWD) modules

clean:
 $(MAKE) -C $(KDIR) M=$(PWD) clean

最佳答案

Objdump 确实支持该架构。您的可执行文件将被称为 arm-none-linux-gnueabi-objdump

关于linux - 如何保留 Linux 内核模块构建的 asm 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2900904/

相关文章:

Linux Top 命令使用命令行给出两个 cpu 内核的输出

linux - 使用 bash 脚本重命名 xml 文件扩展名

linux - Shell 脚本大小写语法错误

在 C 中编译包含 libmodbus 的程序

c - Linux 内核出错

memory - 现代 Linux 中是否有 NUMA 下次接触策略

Linux 发送邮件 - 命令行

bash - Ifdef 条件意外行为

android - 如何强制 Cmake 执行多组件依赖的顶级 CMakeLists.txt?

c - 换入换出页面后,使用页映射表访问物理地址的过程是什么