[GHC] #2022: DLL support broken
GHC
trac at galois.com
Mon Jan 7 09:41:01 EST 2008
#2022: DLL support broken
-------------------------+--------------------------------------------------
Reporter: mte | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 6.8.2
Severity: normal | Keywords:
Difficulty: Unknown | Testcase:
Architecture: x86 | Os: Windows
-------------------------+--------------------------------------------------
Creating a DLL using the -shared option does not work for me:
1. ghc tries to create a static library (foobar.dll.a).
2. The linker complains about missing symbols.
Building an executable from the same project works fine and the resulting
executable runs all unit tests without errors.
With 6.6 and the --mk-dll option, the DLL was built without problems.
/vol/c/ghc/ghc-6.8.2/bin/ghc.exe \
-fglasgow-exts -odir ../targets/i686-CYGWIN_NT-5.1/plain -hidir
../targets/i686-CYGWIN_NT-5.1/plain -i../targets/i686-CYGWIN_NT-5.1/plain
+RTS -M64m -RTS \
-shared \
-o ../targets/i686-CYGWIN_NT-5.1/plain/foobar.dll \
foobar.def \
../targets/i686-CYGWIN_NT-5.1/plain/*.o
Creating library file: ..\targets\i686-CYGWIN_NT-5.1\plain\foobar.dll.a
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x1696):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_empty_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x44c3):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_zdf3_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x7e6d):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_elems_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0xf392):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_delete_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0xf3f6):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_insert_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0xf8e3):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_elems_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0xf933):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_sizze_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0xffae):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_delete_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x10012):fake:
undefined reference to `containerszm0zi1zi0zi1_DataziSet_insert_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x10076):fake:
undefined reference to `containerszm0zi1zi0zi1_DataziSet_delete_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x100c7):fake:
undefined reference to `containerszm0zi1zi0zi1_DataziSet_elems_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x101ef):fake:
undefined reference to `containerszm0zi1zi0zi1_DataziSet_null_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x125e7):fake:
undefined reference to
`containerszm0zi1zi0zi1_DataziSet_toAscList_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x133e2):fake:
undefined reference to `containerszm0zi1zi0zi1_DataziSet_empty_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x1c91f):fake:
undefined reference to `containerszm0zi1zi0zi1_DataziSet_elems_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x1ca0f):fake:
undefined reference to `containerszm0zi1zi0zi1_DataziSet_sizze_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x1cecb):fake:
undefined reference to `containerszm0zi1zi0zi1_DataziSet_sizze_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x1cfb0):fake:
undefined reference to `containerszm0zi1zi0zi1_DataziSet_empty_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x1f3ec):fake:
undefined reference to
`containerszm0zi1zi0zi1_DataziSet_singleton_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x1fdd5):fake:
undefined reference to `__stginit_arrayzm0zi1zi0zi0_DataziArray_'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x1fdf3):fake:
undefined reference to `__stginit_containerszm0zi1zi0zi1_DataziSet_'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x1fdfd):fake:
undefined reference to `__stginit_haskell98_List_'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.text+0x1fe07):fake:
undefined reference to `__stginit_haskell98_Maybe_'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0x124):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_empty_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0x3dc):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_zdf3_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0x4a8):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_elems_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0xdc0):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_delete_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0xdd8):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_insert_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0xe48):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_sizze_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0xe4c):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_elems_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0xf58):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_delete_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0xf70):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_insert_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0xf88):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_delete_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0xfc4):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_null_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0xfc8):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_elems_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0x118c):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_empty_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0x1190):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_toAscList_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0x192c):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_empty_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0x1930):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_sizze_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0x1934):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_elems_closure'
../targets/i686-CYGWIN_NT-5.1/plain/foobar.o(.data+0x19f4):fake: undefined
reference to `containerszm0zi1zi0zi1_DataziSet_singleton_closure'
../targets/i686-CYGWIN_NT-5.1/plain/Types.o(.text+0xa5b9):fake: undefined
reference to `__stginit_arrayzm0zi1zi0zi0_DataziArray_'
collect2: ld returned 1 exit status
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2022>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list