Boost logo

Boost :

Subject: Re: [boost] Default x86 instruction set
From: Jonathan Wakely (jwakely.boost_at_[hidden])
Date: 2013-05-07 12:17:26


On 7 May 2013 16:24, Mathias Gaunard wrote:
> On 05/05/13 00:02, Andrey Semashev wrote:
>>
>> Hi,
>>
>> I noticed that by default x86 32 bit builds are targeted for i386 (at
>> least
>> gcc toolset and its derivatives explicitly specify -march=i386 in the
>> command
>> line). Is there a reason to target for such an ancient instruction set by
>> default?
>
>
> I take it you mean why is
> tools/build/v2/tools/gcc.jam
> adding -march=i386 when using GCC on 32-bit systems.
>
> I also think it shouldn't do that. I suppose the reason is due to a
> limitation of Boost.Build that needs to know what the default is.
> Most GCC 32-bit binaries will build for i386 by default, even on modern
> linux distributions.

Are you sure about that?
If the compiler is configured for e.g. i686-pc-linux-gnu then it
defaults to -march=i686, and I believe several GNU/Linux distros
target i586 or even i686 by default these days.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk