问题描述
构建内核模块时生成的 *.o.ur-safe
文件的用途是什么?我在内核源代码或其他任何地方都找不到对此扩展的引用。
这是(相当标准的)Makefile:
obj-m += module.o
module-y := main.o other.o
KDIR ?= "/lib/modules/$(shell uname -r)/build"
all:
make -C $(KDIR) M=$(PWD) modules
clean:
make -C $(KDIR) M=$(PWD) clean
other.o.ur-safe 是在运行 make
时生成的。以下是other.o.ur-safe的内容:
/home/user/module/other.o-.text-17
/home/user/module/other.o-.text-27
/home/user/module/other.o-.text-32
/home/user/module/other.o-.text-42
观察:
-
make clean
不会删除此文件。 - 未为 main.o 生成相应的
.o.ur-safe
文件。 - 此文件不是在带有 Linux 4.19.99 的 Ubuntu 16.04.7 上生成的,而是由带有 Linux 4.4.0-186-generic 的 Ubuntu 16.04.7 生成的。前者(机器 A)是自定义的 Ubuntu 安装,而后者(机器 B)只是一个库存的 Ubuntu 映像。
- 当我使用 4.4.186 内核源代码树作为 KDIR 时,此文件不是由 (B) 生成的。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)