Subject: Re: [Boost-bugs] [Boost C++ Libraries] #9445: context asm files fail to build for x32 ABIs
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-02-27 20:52:32
#9445: context asm files fail to build for x32 ABIs
----------------------------------------+---------------------
Reporter: Mike Frysinger <vapier@â¦> | Owner: olli
Type: Bugs | Status: closed
Milestone: To Be Determined | Component: context
Version: Boost 1.55.0 | Severity: Problem
Resolution: fixed | Keywords:
----------------------------------------+---------------------
Comment (by anonymous):
I've tried building boost from the develop branch. Pretty much as I
expected:
gcc.jam sets -m32 if a 32bit platform is detected. This isn't appropriate
for x32, since as I mentioned previously -m32 specifies IA32. -mx32 is
used for x32. Or simply no -m since it's the toolchain default. [Why
does boost set it anyway? Virtually every other project obeys whatever
ABI is set by compiler/cflags, and detects the properties based upon the
compiler output]
boost-build adds -march=i686 to the cflags for building on 32bit x86
platform, this is incompatible with x32 since x32 is an x86-64 variant
ABI. It fails with "error: CPU you selected does not support x86-64
instruction set" [As above, why does boost set -march? The only time a
specific -march is necessary to allow use of flags such as -mavx is when
that instruction set flag is not allowed for the configured -march, if
there's no -march, the compiler produces code for the default and or
generic configured target (x86-64 on amd64/em64t), then all -m instruction
extension flags are allowed.]
I'll see if I can remove the -march/ABI overrides and get it to build...
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/9445#comment:26> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:19 UTC