LLVM binaries for Windows and more

> I volunteer. As soon as I get everything to work.
>
> Next problem: I now have the hello.bc file compiled. But how do I get an executable from this? I tried:
>
> C:\Eigenes\compiler\llvm-2.0\win32\release>llvm-ld -o=hellow.exe hellow.bc
> llvm-ld: Could not find llvm-stub.exe executable!
>
> So, I don't have "llvm-stub.exe". But why did it not build one? And what is the
> difference between "llvm-ld" and "llvm-link"? "llvm-link" does not work either.

Try passing -native.

-Chris

C:\Eigenes\compiler\llvm-2.0\win32\release>llvm-ld -native hellow.bc
a.out.s: Assembler messages:
a.out.s:1: Error: unknown pseudo-op: `.686'
a.out.s:2: Error: unknown pseudo-op: `.model'
a.out.s:4: Error: no such instruction: `extern _puts:near'
a.out.s:5: Error: no such instruction: `extern _abort:near'
a.out.s:8: Error: invalid character '_' in mnemonic
a.out.s:9: Error: no such instruction: `align 16'
a.out.s:10: Error: invalid character '_' in mnemonic
a.out.s:11: Error: too many memory references for `sub'
a.out.s:12: Error: junk `PTR [ESP+10]' after expression
a.out.s:13: Error: junk `PTR [ESP+11]' after expression
a.out.s:13: Error: too many memory references for `mov'
a.out.s:14: Error: junk `PTR [ESP+10]' after expression
a.out.s:15: Error: junk `PTR [ESP]' after expression
a.out.s:15: Error: too many memory references for `mov'
a.out.s:17: Error: too many memory references for `xor'
a.out.s:18: Error: too many memory references for `add'
a.out.s:20: Error: invalid character '_' in mnemonic
a.out.s:21: Error: invalid character '_' in mnemonic
a.out.s:23: Error: invalid character '_' in mnemonic
a.out.s:23: Error: unknown pseudo-op: `.lc0'
a.out.s:24: Error: no such instruction: `db 104ello world4410,0'
a.out.s:25: Error: invalid character '_' in mnemonic
a.out.s:27: Error: no such instruction: `end'
llvm-ld:

It seems that the generated ASM code cannot be assembled with GCC (wrong output format I guess). Maybe this fails because it calls the MingW gcc.exe and not llvm-gcc.exe? However, is the name "a.out.s" a bug? One extension should suffice.

Is it planed to include binary writers? (So that the step to go through an external assembler wouldn't be necessary.)

Interpreting the program with "lli" works, by the way.

Andreas