c - Linux内核模块makefile中的特殊文件编译-“停止需要.o”错误
问题描述
我有一个内核模块,我想在其中包含一个特殊文件。该文件是 ASM 文件。没有什么特别的,但它不起作用。制作错误是:
make[2]: *** No rule to make target '/home/idou/Documents/badpervisor/driver/cpuid_available.o', needed by '/home/idou/Documents/badpervisor/hypervisor.o'. Stop.
构建:
obj-m := hypervisor.o
hypervisor-y := driver/entry.o \
driver/cpu_checks.o \
driver/cpuid_available.o \
$(obj)/cpuid_available.o:
nasm -f elf64 -o $(obj)/cpuid_available.o $(src)/cpuid_available.asm
asm 文件:
section .text
global is_cpuid_available
is_cpuid_available:
pushfq ;
pushfq ;
xor dword [esp],0x00200000 ;
popfq ;
pushfq ;
pop rax ;
xor eax,[esp] ;
popfq ;
and eax,0x00200000 ;
ret
解决方案
推荐阅读
- vb.net - 如何通过 invoiceno 将数据表记录检索到 datagriview 订单
- angular - 在 Angular 8 中处理两个以上的条件
- c++ - 是否可以使用 STL 算法重写我的代码?
- forms - Symfony 4.4 FormType 验证问题
- php - 如何在 laravel 中以编辑形式获取旧图像?代码是什么?
- java - 在“super()”构造函数中使用“this”关键字
- spring-integration - JdbcMetadataStore -bad SQL grammar
- docker - SSH 直接进入 Docker 实例
- google-analytics - 谷歌分析。历史事件数据在哪里?
- java - 捆绑存储在变量中的数据