ld指令有一个选项:--oformat output_format,用于指定输出文件的格式。输入文件./kernel/kernel.o等是elf32格式,当前系统是64位,而ld默认生成的文件格式是elf64-x86-64;因此会出现“ld: warning: i386 architecture of input file `./kernel/kernel.o‘
is incompatible with i386:x86-64 output”这样的提示。之前,将系统从三墩转移到我自己的ubuntu电脑上时,我加入了--oformat elf32-i386选项,解决了这个问题。
但是今天在amd64位机器、centos系统上编译系统时,又出现如下提示:
ld: warning: i386 architecture of input file `./kernel/kernel.o‘ is incompatible with i386:x86-64 output
.......