Using the native cygwin compiler will quite likely make you pulling your hair out. Try building a cross compiler for linux and elf and use that instead. The PE standard the cygwin gcc spits out conflicts with many assumptions in asm code and linker files, such as naming conventions of sections, symbols, etc. - Volkmar