|
Boost : |
Subject: Re: [boost] Default x86 instruction set
From: Jonathan Wakely (jwakely.boost_at_[hidden])
Date: 2013-05-07 13:47:33
On 7 May 2013 18:16, Mathias Gaunard wrote:
> On 07/05/13 18:17, Jonathan Wakely wrote:
>
>> 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.
>
>
> AFAIK the latest Debian and its derivatives are still built for i386.
That would be pretty silly given that the Linux kernel won't build for i386.
I found it hard to believe, so I downloaded the patches from the
Debian GCC package:
+ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 kfreebsd-i386 kfreebsd-amd64))
+ ifneq (,$(filter $(distrelease),etch lenny dapper hardy))
+ CONFARGS += --with-arch-32=i486
+ else ifneq (,$(filter $(distrelease),squeeze wheezy sid jaunty karmic lucid))
+ CONFARGS += --with-arch-32=i586
+ else
+ CONFARGS += --with-arch-32=i686
+ endif
+endif
+
+ifneq (,$(filter $(DEB_TARGET_ARCH), hurd-i386))
+ CONFARGS += --with-arch=i586
+endif
+
+ifeq ($(DEB_TARGET_ARCH),lpia)
+ CONFARGS += --with-arch=pentium-m --with-tune=i586
+endif
+
+ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 hurd-i386
kfreebsd-i386 kfreebsd-amd64))
+ CONFARGS += --with-tune=generic
+endif
So Debian Etch (initially released 2007) and Lenny (2009) assume i486,
Squeeze and Wheezy assume i586.
Even if they didn't, the Debian devs would be quite capable of
patching the Boost sources if they really wanted to cripple it to
support 80386, that doesn't mean it should be the default for upstream
Boost.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk