I have recently compiled elftoolchain on Windows for use with the Dr. Memory open-source memory tool (http://code.google.com/p/drmemory/) where we need to obtain line number information from MinGW and Cygwin gcc-compiled applications.

For our use I did a relatively hacky port, using a few include files from Cygwin, and I built everything directly and did not properly set up the Makefiles.  Are you interested in a proper port contributed back to your sources?  There was a post to this mailing list back in 2010 about plans for porting to Windows with a receptive response, but I did not see any follow-up.

I built with Visual Studio 2005 and 2008 and had to undo the "designated initializers" in the elftoolchain code that these compilers do not support, in addition to handling the different _snprintf semantics, along with writing new code for PECOFF to replace the ELF code.  The patch I used is at http://code.google.com/p/dynamorio/source/browse/trunk/ext/drsyms/libelftc-pecoff/libelftc-pecoff.patch
and my build instructions are at http://code.google.com/p/dynamorio/source/browse/trunk/ext/drsyms/libelftc-pecoff/HOWTOBUILD.  I also hit an issue with dwarf_srclines not being sorted which I filed as 

Let me know if you're interested in my port and we can discuss how to handle the designated initializers, build system, and other issues.

- Derek