------- Comment #8 from pluto at agmk dot net  2010-04-18 20:28 -------
debbuging 4.3 vs 4.5 start_thread() shows different results:

4.3:

182x     void thread::start_thread()
183x     {
184x         thread_info->self=thread_info;
185t>        int const res = pthread_create(&thread_info->thread_handle, 0,
&thread_proxy, thread_info.get());

(gdb) p *this->thread_info.pn.pi_
{
  _vptr.sp_counted_base = 0x7ffff767e6d0,
  use_count_ = 1,
  weak_count_ = 2
}
(gdb) n
(gdb) p *this->thread_info.pn.pi_
{
  _vptr.sp_counted_base = 0x7ffff767e6d0,
  use_count_ = 2,
  weak_count_ = 2
}

on 4.5:

(gdb) p *this->thread_info.pn.pi_
{
  _vptr.sp_counted_base = 0x7ffff767ead0,
  use_count_ = 1,
  weak_count_ = 2
}
(gdb) n
(gdb) p *this->thread_info.pn.pi_
Cannot access memory at address 0x30

as you can see, the 4.5 code does bad things.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39979

Reply via email to