[Boost-bugs] [Boost C++ Libraries] #6831: __sync_lock_test_and_set_4 and illegal instruction

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