[Boost-bugs] [Boost C++ Libraries] #3678: Build failure on SPARC64 architecture

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