Dear All:
    On windows, when attempting to linking with gtk ( gtk - 2.24 all in one bundle), I got following error:

Loading package cairo-0.12.5.0 ... linking ... done.
Loading package glib-0.12.5.0 ... linking ... done.
Loading package gio-0.12.5.0 ... linking ... done.
Loading package pango-0.12.5.0 ... linking ... done.
Loading package gtk-0.12.5.0 ... ghc.exe: panic! (the 'impossible' happened)
  (GHC version 7.6.3 for i386-unknown-mingw32):
        loadObj "C:\\Users\\tangboyun\\AppData\\Roaming\\cabal\\gtk-0.12.5.0\\ghc-7.6.3\\HSgtk-0.12.5.0.o": failed

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

ghc.exe: Unknown PEi386 section name `.eh_frame' (while processing: C:\Users\tangboyun\AppData\Roaming\cabal\gtk-0.12.5.0\ghc-7.6.3\HSgtk-0.12.5.0.o)

After removing the .eh_frame section from the object file using objcopy
 objcopy.exe --remove-section .eh_frame HSgtk-0.12.5.0.o

I got follwing error:
Loading package cairo-0.12.5.0 ... linking ... done.
Loading package glib-0.12.5.0 ... linking ... done.
Loading package gio-0.12.5.0 ... linking ... done.
Loading package pango-0.12.5.0 ... linking ... done.
Loading package gtk-0.12.5.0 ... linking ... ghc.exe: unable to load package `gtk-0.12.5.0'
ghc.exe: C:\Users\tangboyun\AppData\Roaming\cabal\gtk-0.12.5.0\ghc-7.6.3\HSgtk-0.12.5.0.o: unknown symbol `__imp___fmode'


When attempting to linking with gtk3 (3.6.4 all in one bundle from http://win32builder.gnome.org/gtk+-bundle_3.6.4-20130921_win32.zip), I got following error:
Loading package cairo-0.12.5.0 ... linking ... done.
Loading package glib-0.12.5.0 ... linking ... done.
Loading package gio-0.12.5.0 ... linking ... done.
Loading package pango-0.12.5.0 ... <command line>: can't load .so/.DLL for: m.dll (addDLL: could not load DLL)

After fooling the compiler with the trick mentioned in https://ghc.haskell.org/trac/ghc/ticket/3242

I got the same .eh_frame and  unknown symbol `__imp___fmode' error aforementioned.