
My suggestion is to have GHC spit some assembler that it is already generating, and see if custom sections are used at any point. Edward Excerpts from Gintautas Miliauskas's message of 2014-10-12 15:28:40 -0700:
This is slightly offtopic, but maybe some of the Windows folks know an answer to this question. I've been working on #9686 https://ghc.haskell.org/trac/ghc/ticket/9686, but have been blocked by Windows rejecting all my attempts to add a custom section to a binary withthe error "bash: ./c.exe: cannot execute binary file: Exec format error".
I'm not sure if this is a gcc/binutils bug or not (the exact same commands with the same tools work fine on Linux binaries). I have filed http://sourceforge.net/p/mingw/bugs/2239 and https://sourceware.org/bugzilla/show_bug.cgi?id=17466 to see what the developers say, but have not gotten a response yet. Perhaps someone here knows what's going on?