GHC 64-bit Windows build failures with LLVM
When using LLVM 2.9, 3.1 or 3.4svn on Windows with the 64-bit GHC from the downloads page (http://www.haskell.org/ghc/download_ghc_7_6_3) to compile this simple program;
main = print "Hello!"
I get these errors;
Kyle@kyle-laptop /c/Users/Kyle/Desktop$ ghc -fllvm -fforce-recomp test.hs
[1 of 1] Compiling Main ( test.hs, test.o )
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s: Assembler messages:
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:2: Error: junk at end of line, first unrecognized character is `,'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:3: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:3: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:7: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:7: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:10: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:10: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:17: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:17: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:19: Error: junk at end of line, first unrecognized character is `,'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:20: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:20: Error: junk at end of line, first unrecognized character is `c'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:24: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:24: Error: junk at end of line, first unrecognized character is `c'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:26: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:26: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:31: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:31: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:34: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:34: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:41: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:41: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:43: Error: junk at end of line, first unrecognized character is `,'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:44: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:44: Error: junk at end of line, first unrecognized character is `M'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:50: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:50: Error: junk at end of line, first unrecognized character is `M'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:53: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:53: Error: junk at end of line, first unrecognized character is `M'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:61: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:61: Error: junk at end of line, first unrecognized character is `M'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:63: Error: junk at end of line, first unrecognized character is `,'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:64: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:64: Error: junk at end of line, first unrecognized character is `Z'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:69: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:69: Error: junk at end of line, first unrecognized character is `Z'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:72: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:72: Error: junk at end of line, first unrecognized character is `Z'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:80: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:80: Error: junk at end of line, first unrecognized character is `Z'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:82: Error: junk at end of line, first unrecognized character is `"'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:85: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:85: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:91: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:91: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:95: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:95: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:137: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:137: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:140: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:140: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:146: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:146: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:150: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:150: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:192: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:192: Error: junk at end of line, first unrecognized character is `s'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:195: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:195: Error: junk at end of line, first unrecognized character is `M'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:202: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:202: Error: junk at end of line, first unrecognized character is `M'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:207: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:207: Error: junk at end of line, first unrecognized character is `M'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:250: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:250: Error: junk at end of line, first unrecognized character is `M'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:253: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:253: Error: junk at end of line, first unrecognized character is `Z'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:260: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:260: Error: junk at end of line, first unrecognized character is `Z'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:266: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:266: Error: junk at end of line, first unrecognized character is `Z'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:308: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:308: Error: junk at end of line, first unrecognized character is `Z'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:310: Warning: .type pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:310: Error: junk at end of line, first unrecognized character is `_'
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:315: Warning: .size pseudo-op used outside of .def/.endef ignored.
C:\Users\Kyle\AppData\Local\Temp\ghc6708_0\ghc6708_0.s:315: Error: junk at end of line, first unrecognized character is `_'
Invocation is ghc -fllvm test.hs
.
ghc --info:
Kyle@kyle-laptop /c/Users/Kyle/Desktop$ ghc --info
[("Project name","The Glorious Glasgow Haskell Compilation System")
,("GCC extra via C opts"," -fwrapv")
,("C compiler command","$topdir/../mingw/bin/gcc.exe")
,("C compiler flags"," -fno-stack-protector -Wl,--hash-size=31 -Wl,--reduce-memory-overheads")
,("ar command","$topdir/../mingw/bin/ar.exe")
,("ar flags","q")
,("ar supports at file","YES")
,("touch command","$topdir/touchy.exe")
,("dllwrap command","$topdir/../mingw/bin/dllwrap.exe")
,("windres command","$topdir/../mingw/bin/windres.exe")
,("perl command","$topdir/../perl/perl.exe")
,("target os","OSMinGW32")
,("target arch","ArchX86_64")
,("target word size","8")
,("target has GNU nonexec stack","False")
,("target has .ident directive","True")
,("target has subsections via symbols","False")
,("LLVM llc command","llc")
,("LLVM opt command","opt")
,("Project version","7.6.3")
,("Booter version","7.6.1")
,("Stage","2")
,("Build platform","x86_64-unknown-mingw32")
,("Host platform","x86_64-unknown-mingw32")
,("Target platform","x86_64-unknown-mingw32")
,("Have interpreter","YES")
,("Object splitting supported","YES")
,("Have native code generator","YES")
,("Support SMP","YES")
,("Unregisterised","NO")
,("Tables next to code","YES")
,("RTS ways","l debug thr thr_debug thr_l thr_p dyn debug_dyn thr_dyn thr_debug_dyn")
,("Leading underscore","NO")
,("Debug on","False")
,("LibDir","C:\\Program Files\\Haskell Platform\\2013.2.0.0\\lib")
,("Global Package DB","C:\\Program Files\\Haskell Platform\\2013.2.0.0\\lib\\package.conf.d")
,("Gcc Linker flags","[\"-Wl,--hash-size=31\",\"-Wl,--reduce-memory-overheads\"]")
,("Ld Linker flags","[\"--hash-size=31\",\"--reduce-memory-overheads\"]")
]
No output binary is produced.
Same llvm used with 32-bit ghc works smoothly to compile the same program.
Trac metadata
Trac field | Value |
---|---|
Version | 7.6.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |
Edited by Edward Z. Yang