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.
What executable format are you using? The main reason for Cygwin ld crashing is when you try to use the binary format, which is apparently broken in Cygwin.
Fixed it. I changed the OUTPUT_FORMAT in the linker script from pe-i386 to pei-i386 and that fixed the segmentation fault. I was having problems with objcopy not converting my kernel.exe file, which I noticed that it was not working because of not correctly typing in the correct option for the format.
Everything is working now. Thanks for all the help.