[LLVMdev] llvm-ranlib: Bus Error in regressions + fix
jeffc at jolt-lang.org
Thu Nov 24 05:32:54 PST 2005
Evan Jones wrote:
> On Nov 23, 2005, at 22:49, Jeff Cohen wrote:
>> News to me. I do it all the time. Notice the "win32" directory
>> under the root :)
> Okay, so I spoke about something that I don't really know about, since
> I don't use Windows. But what was the whole "Still can't compile
> backend of frontend on Windows" discussion about? My impression is
> that LLVM only builds under Cygwin. This doesn't really count (IMO)
> since it makes Windows look like Unix anyway, from an API perspective.
No, it builds using Microsoft's Visual C++. In fact, there have been
more problems building it with cygwin than with Visual Studio. The
project and solution files for Visual Studio are all under the win32
directory. It uses the native Win32 API (see lib/System/Win32). The
entire backend, except for a (very) few tools, builds natively. The
front end cannot build this way because it's a hacked-up GCC, which is
well known for being unbuildable with VC++. But that isn't really
LLVM's problem; we can just distribute a pre-built llvm-gcc binary
compiled with cygwin or mingw. Anyway, the usefulness of LLVM is not
limited to compiling C/C++ code.
> In fact, with regards to the specific "cannot unlink while open"
> issue, Cygwin works around it (partially) by removing the file as soon
> as the file is closed. I'm not sure that would be sufficient in this
> case, but it might be.
Cygwin isn't involved, so this is irrelevant. Windows does permit a
file to be deleted while it is still open, but only when it was opened
with delete share permission. This requires that the file be opened
with the CreateFile API, which LLVM cannot do in a portable fashion.
This functionality cannot be accessed via fopen.
> Evan Jones
> Evan Jones
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev