This time I want to give a try to LLVM/Clang, as it is much easier to cross-compile.
I followed Bare Bones tutorial. For cross-compiling Assembly and C source files I added
Code: Select all
-target i686-none-elf
But I stuck at linking step. First I run this command:
Code: Select all
clang -T linker.ld -o myos.bin -ffreestanding -O2 -nostdlib boot.o kernel.o -lgcc
Code: Select all
clang: warning: argument unused during compilation: '-T linker.ld' [-Wunused-command-line-argument]
boot.o : fatal error LNK1107: invalid or corrupt file: cannot read at 0x2A0
Any idea about how can we link final kernel binary?