Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2006-03-22 16:40:35


John Maddock wrote:

> Program received signal SIGSEGV, Segmentation fault
> si_code: 1 - SEGV_MAPERR - Address not mapped to object.
> 0x40601e1 in boost::detail::atomic_decrement (pw=0x40014bd4)
> at sp_counted_base_gcc_ia64.hpp:52

The problem is that in

    __asm__ (" fetchadd4.rel %0=[%2],-1 ;; \n"

the %2 register (r15 in my test) contains 0x40014bd4, while the address of
*pw is actually 0x2000000040014bd4. Apparently g++ needs to be informed of
the fact that %2 is an address register, not a data register. Now I only
need to find out how to do that.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk