From: John Maddock (john_at_[hidden])
Date: 2006-03-22 14:17:15


>> Can you try the attached patch? If it doesn't work, I'm out of
>> ideas. If it works, we need to regression test on the other IA64
>> platforms, though.

No joy:

bash-3.00$ c++ -g -I../../../ shared_ptr_test.cpp
bash-3.00$ gdb a.out
HP gdb 5.3.0 for HP Itanium (32 or 64 bit) and target HP-UX 11.2x.
Copyright 1986 - 2001 Free Software Foundation, Inc.
Hewlett-Packard Wildebeest 5.3.0 (based on GDB) is covered by the
GNU General Public License. Type "show copying" to see the conditions to
change it and/or distribute copies. Type "show warranty" for
warranty/support.
..
(gdb) run
Starting program: /house/maddock/libs/smart_ptr/test/a.out
warning: Load module
/usr/local/lib/gcc/ia64-hp-hpux11.23/3.4.3/../../../libstdc
++.so has been stripped.
Debugging information is not available.

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
warning: Compilation directory is not absolute; could result in incorrect
behavi
or. Please report to HP.
52 "p7");
(gdb) bt
#0 0x40601e1 in boost::detail::atomic_decrement (pw=0x40014bd4)
    at sp_counted_base_gcc_ia64.hpp:52
#1 0x4060010 in boost::detail::sp_counted_base::release (this=0x40014bd0)
    at sp_counted_base_gcc_ia64.hpp:127
#2 0x405ff90 in boost::detail::shared_count::~shared_count
(this=0x7ffff3e4)
    at shared_count.hpp:205
#3 0x4060310 in boost::shared_ptr<int>::~shared_ptr (this=0x7ffff3e0)
    at shared_ptr_test.cpp:61
#4 0x4064ef0 in void n_constructors::pc0_test<int> (p=0x0)
    at shared_ptr_test.cpp:141
#5 0x402e280:0 in n_constructors::pointer_constructor ()
    at shared_ptr_test.cpp:146
#6 0x40441a0:0 in n_constructors::test () at shared_ptr_test.cpp:1141
#7 0x405f140:0 in main () at shared_ptr_test.cpp:3211

BTW you can try this out for yourself on the HP testdrive machine.

John.