Subject: [Boost-bugs] [Boost C++ Libraries] #3678: Build failure on SPARC64 architecture
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-11-26 17:38:58
#3678: Build failure on SPARC64 architecture
------------------------------------------------+---------------------------
Reporter: churanov.port.maintainer@⦠| Owner: pdimov
Type: Bugs | Status: new
Milestone: Boost 1.42.0 | Component: smart_ptr
Version: Boost 1.41.0 | Severity: Showstopper
Keywords: |
------------------------------------------------+---------------------------
Boost 1.40.0 fail to build on SPARC64 machines.
The issue arises when code of smart_ptr is assembled. The
"boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp" file contains
SPARC-specific assembly for atomic compare-and-swap implementation and
assembler rejects the code generated by the compiler out of that function.
The generated code contains a "cas" instruction where first operand is a
memory reference with complex addressing (register and offset). According
to the SPARC v9 manual only register containing stored address may go
there.
The patch for the issue was created, but a single test in
"libs/smart_ptr/test" fails.
The patch is at http://alexanderchuranov.com/boost-port/boost-1.41-sparc64
/patch-boost_smart_ptr_detail_sp_counted_base_gcc_sparc.hpp [[BR]]
The bjam test log is at http://alexanderchuranov.com/boost-
port/boost-1.41-sparc64/bjam-smart-ptr-test.log
Environment:
Operating system - FreeBSD 8.0-BETA4 sparc64 [[BR]]
Compiler - c++ (GCC) 4.2.1 20070719 [FreeBSD] [[BR]]
Assembler - GNU assembler 2.15 [FreeBSD] 2004-05-23 [[BR]]
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/3678> 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:01 UTC