Subject: [Boost-bugs] [Boost C++ Libraries] #6831: __sync_lock_test_and_set_4 and illegal instruction
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-04-26 07:18:03
#6831: __sync_lock_test_and_set_4 and illegal instruction
-----------------------------------------------------------------------+----
Reporter: Pascal Kesseli <pascal.kesseli@â¦> | Owner: chris_kohlhoff
Type: Bugs | Status: new
Milestone: To Be Determined | Component: asio
Version: Boost 1.43.0 | Severity: Showstopper
Keywords: async_read __sync_lock_test_and_set_4 illegal_instruction |
-----------------------------------------------------------------------+----
In the attachment, Iâve prepared a simple test program verifying a trivial
asynchronous read operation using asio sockets. The program compiles and
runs fine up to boost version 1.42. In version 1.43, compiling the program
fails with a linker error:
{{{
/tmp/ccQi0dGl.o: In function
`boost::asio::detail::gcc_fenced_block::gcc_fenced_block()':
main.cpp:(.text._ZN5boost4asio6detail16gcc_fenced_blockC1Ev[boost::asio::detail::gcc_fenced_block::gcc_fenced_block()]+0x4c):
undefined reference to `__sync_lock_test_and_set_4'
}}}
Since version 1.44 up to version 1.49, the linker error is gone and the
program compiles fine. However, the program aborts at runtime upon
executing âio.run()â, issuing an âIllegal instructionâ error message. My
assumption is that whatever â_sync_lock_test_and_set_4â was replaced by in
version 1.44 represents an illegal operation on my target system.
The target system is a MOXA UC-8410 embedded ARM computer:
{{{
Linux Moxa 2.6.23.1 #1044 Fri May 6 10:25:20 CST 2011 armv5teb GNU/Linux
arm-linux-g++ (GCC) 4.2.1
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/6831> 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:09 UTC