Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
@admin: could you move this to osdev section? thx.
@mar-rih: the object file you have supplied is in a format which thelinker canna interpret. It does know about certain formats, but 1. you have to stick to one object format, and 2. if you have told f. ex. nasm to create a binary object file, this won't link to any other object files - so the linker might have a valid reason to refuse linking.
Just give us the script with which you are compiling the stuff.
that sounds typical from a cygwin/mingw installation that only supports windows .EXE files. The best we have found to work this out is to build yourself a proper CrossCompiler that will support your target environment (be it ELF, COFF or whatever).
You should find help about it in the FAQ (click the large "megatokyo.com" banner above )
Hi, I had the same problem with Bkerndev linking as well. I needs some help please.
I did nasm -f aout -o start.o start.asm and it created start.o
But when i try to link it with other object files, only start.o has generate this error message
start.o : file not recognized: File format not recognized
Then I changed the file format to elf and coff.
It generated so many error message saying undefined reference in functions 'stublet', _gdt_flush and all the rest of it.
I m using a cross complier gcc3.4.2 (mingw special) on osx. Targeted for i586-elf. I hope that the problem doesn't reside on mingw special. Coz it worked fine when I tried with loader.s instead of start.asm.
I think the problem might be my nasm. I complied it with --target to i586-elf...is it correct?