[LLVMdev] Re: ELF / COFF Interface

Jeff Cohen jeffc at jolt-lang.org
Wed Jun 8 23:26:18 PDT 2005


Chris Lattner wrote:

> On Thu, 9 Jun 2005, Alexander Friedman wrote:
>
>> On Jun  9, Chris Lattner wrote:
>>
>>>> I'm happy with .so. What purpose would .o files serve?
>>>
>>>
>>> Speeds up compile time by not having to write out a .s file then run 
>>> the
>>> system assembler on it.  Likewise, emitting a .so file directly is 
>>> just a
>>> speedup over running the system tools on the .s file.
>>
>>
>> Hmm. Emitting a .so file directly is much more than a speedup over
>> using system tools. It actually frees compiler implementors from
>> relying on them. That way you can distrubute dynamic compilers (i'm
>> thinking the Scheme compiler) that don't rely on gcc/gas/etc or their
>> windows equivilent (which is more important, since most people don't
>> have compilers on their windows machines).
>>
>> .o just saves a few seconds of running time (which is usefull, but
>> doesn't seem quite as important).
>
>
> It's the exact same argument.  :)  The ability to emit .o files 
> eliminates the dependency on gas.  This can be important for targets 
> like native win32, which might not have a platform assembler (e.g. 
> MASM is not distributed with windows).
>
> We still have a dependency on the system linker, but in time that 
> could be addressed.  Note that VC++ distributes a native linker, but I 
> don't think it distributes a native assembler (I could be wrong though).

You are correct.  Microsoft does not distribute an assembler with Visual 
Studio anymore (hasn't for some time).

>
> -Chris
>




More information about the llvm-dev mailing list