Subject: [Boost-bugs] [Boost C++ Libraries] #9772: [libs/context] make_i386_sysv_elf_gas.S:52: Error: invalid instruction suffix for `pop'
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-03-12 19:57:59
#9772: [libs/context] make_i386_sysv_elf_gas.S:52: Error: invalid instruction
suffix for `pop'
-------------------------------------+------------------------
Reporter: ad@⦠| Owner: olli
Type: Bugs | Status: new
Milestone: To Be Determined | Component: context
Version: Boost Development Trunk | Severity: Regression
Keywords: |
-------------------------------------+------------------------
Since you moves the develop repo to git I don't really know where to
create this ticket so I make it here ad it is linked in the Wiki page, and
I made it here aswell in the github submodule page:
https://github.com/boostorg/context/issues/1
Issue:
I fail to crosscompile the git 1.56 develop while it works on the 1.55
from a windows host targeting linux
Compiling the 64-bit lib also worked, I think it is affecting only the
linux target with address-model=32 (a similar issue I got with OSX32_64
and 1.55 that I think you have fixed, but now occurs for me on linux32 and
1.56)
Command used:
{{{
b2 -j1 -d2 -q toolset=gcc variant=release abi=sysv address-model=32
binary-format=elf link=static,shared pch=off strip=on target-os=linux
threading=multi threadapi=pthread cxxflags="-w -m32" linkflags="-w -m32"
--stagedir=stage32 --with-context
}}}
1.56 returns
{{{
Jamfile<X:\libs\boost-dev\libs\context\build>.gas
bin.v2\libs\context\build\gcc-4.8.2\release\abi-sysv\address-
model-32\architecture-x86\binary-format-elf\link-static\pch-off\strip-on
\target-os-linux\threadap
i-pthread\threading-multi\asm\make_i386_sysv_elf_gas.o
cpp -x assembler-with-cpp
"libs\context\src\asm\make_i386_sysv_elf_gas.S" | as -am -o
"bin.v2\libs\context\build\gcc-4.8.2\release\abi-sysv\address-
model-32\architecture-x86\binary-format-elf\link-static\
pch-off\strip-on\target-os-linux\threadapi-pthread\threading-
multi\asm\make_i386_sysv_elf_gas.o"
libs\context\src\asm\make_i386_sysv_elf_gas.S: Assembler messages:
libs\context\src\asm\make_i386_sysv_elf_gas.S:52: Error: invalid
instruction suffix for `pop'
libs\context\src\asm\make_i386_sysv_elf_gas.S:64: Error: invalid
instruction suffix for `pop'
...failed Jamfile<X:\libs\boost-dev\libs\context\build>.gas
bin.v2\libs\context\build\gcc-4.8.2\release\abi-sysv\address-
model-32\architecture-x86\binary-format-elf\link-static\pch-off\strip-on
\target-os-linu
x\threadapi-pthread\threading-multi\asm\make_i386_sysv_elf_gas.o...
...failed updating 1 target...
...updated 23 targets...
}}}
1.55 final returns success
As a workaround I'm changing
{{{
cpp -x assembler-with-cpp "$(>)" | as -am -o "$(<)"
}}}
to
{{{
cpp -x assembler-with-cpp "$(>)" | as --32 -am -o "$(<)"
}}}
But I'm unsure if that's the right thing to do in my case, at least it
compiles fine 32bit with this
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/9772> 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:15 UTC