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.