ELF / COFF Interface

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. :slight_smile: 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).

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).

Its called ML.EXE now and is distributed with Visual Studio .NET 2003/5.

Aaron

Oh, so *that's* what happened to MASM.

OK, change of plans. Forget NASMW, target ML.

Aaron Gray wrote:

Oh, so *that's* what happened to MASM.

Yes, ML is MASM + LINKer.

OK, change of plans. Forget NASMW, target ML.

I was planning on both NASMW and MASM. NASMW can be run on *nix :slight_smile:

So can MASM/ML under WINE I suppose but NASMW is good.

Aaron