我正在为 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/