在ubuntu 10.04下编译2.6.23内核时,出现了如下错误:

 

boot.h112行如下:

gcc嵌入汇编限定符的意义:

r表示可以选任何寄存器,结果在编译时选了dil寄存器,这个好像是x86_64架构里的一个寄存器。这好像是一个编译器的bug。

将r改为q,限定为只能选eax,ebx,ecx,edx,缩小了范围,应该不会引起语义上的错误。

修改后,重新编译通过。

转载自:http://nxlhero.blog.51cto.com/962631/702421

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐