Boost logo

Boost :

Subject: Re: [boost] [context] Don't hard-code the assembler
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2014-04-08 10:22:34

On 08/04/14 11:40, Oliver Kowalke wrote:
> 2014-04-08 11:27 GMT+02:00 Andrey Semashev <andrey.semashev_at_[hidden]>:
>> Also, as a side note, many opensource projects with asm code limit
>> themselves with just one assembler (I'd say yasm is one of the most
>> popular ones). This isn't really a problem as long as the required
>> tool is available and free for all target platforms. I think it is ok
>> if Boost.Context limits the set of supported assemblers, although I'm
>> not sure that supporting only masm on Windows is a good idea. I'd
>> prefer an open alternative, even if it is not the standard one shipped
>> with VS. Otherwise Boost.Context becomes vendor-locked on that
>> particular platform. yasm is really good in this respect - it is
>> widely available, lightweight and opensource.
> I'm not against to support GNU as on Windows - but I don't want to be
> forced to
> support the assembler tools coming along with all the toolsets (sun, xlc,
> pathscale, pgi, ...)
> on the variation of architecture, ABI, binary-format etc.
> In the future I might provide an implementation for GNU as on Windows but
> at the
> moment I have not the time.

So for x86 we have:

Linux/Mac 32-bit GAS
Linux/Mac 64-bit GAS
Windows 32-bit GAS
Windows 32-bit MASM
Windows 64-bit GAS
Windows 64-bit MASM

That's 6 versions of the code. Possibly Windows GAS and Linux/Mac GAS
can be the same in certain situations, further reducing the number of

Is 6 really much worse than 4 versions?

Boost list run by bdawes at, gregod at, cpdaniel at, john at