I figured that just copying the mingw crt*.o files would not be a good idea.
<i>Why not? Mingw32 crt does not depend on LLVM. </i>I rashly copied all the *.o files from my mingw\lib directory to the llvm\lib directory. This does enable the hello world binary to compile and to function correctly. However the byte code file does not work correctly giving: $ lli hello.bc ERROR: Program used external function '_alloca' which could not be resolved! This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. I suppose this is consistent with the comment that the Jit functionality is currently broken on mingw?
<i>Please check: 1. File size of llvm-gcc4-1.9-patched-x86-mingw32.tar.bz2 is 15018565 bytes 2. Md5sum is 61a73059be528b19f2ce64d35d7df25b</i> My file size matches the patched file. I haven't figured out how to get 7-zip to give me checksum information on windows. Aha! I just noted that the archive does in fact have the crt*.o files, but they did not end up in my lib directory after I built the system. I did however run a make clean prior to the build since the first time I tried to build it, it failed. If the clean deletes the object files then it might well have deleted the crt*.o files. That's the only reasonable explanation that I have right now.
Could you please fill in corresponding bug - I’ll have look in it. We’ll
<i>use it to track progress & problems. </i>I'm not sure if this is really a bug, unless perhaps the make clean does end up deleting the needed object files. My final question is just what functionality is disabled with the mingw distribution? Is it just the use of lli? This used to work with the msvc compiled tools. Is it possible to recover the missing functionality of the Jit interpreter using msvc to compile these tools?