diff -prN libstdc++-v3-orig/include/ext/mt_allocator.h libstdc++-v3/include/ext/mt_allocator.h *** libstdc++-v3-orig/include/ext/mt_allocator.h Thu Mar 25 15:35:06 2004 --- libstdc++-v3/include/ext/mt_allocator.h Fri Mar 26 17:25:19 2004 *************** namespace __gnu_cxx *** 405,413 **** // grab the first record and update the counters. block = __bin.first[__thread_id]; __bin.first[__thread_id] = __bin.first[__thread_id]->next; - block->thread_id = __thread_id; #ifdef __GTHREADS if (__gthread_active_p()) { __bin.free[__thread_id]--; --- 405,413 ---- // grab the first record and update the counters. block = __bin.first[__thread_id]; __bin.first[__thread_id] = __bin.first[__thread_id]->next; #ifdef __GTHREADS + block->thread_id = __thread_id; if (__gthread_active_p()) { __bin.free[__thread_id]--; *************** namespace __gnu_cxx *** 436,448 **** // Round up to power of 2 and figure out which bin to use. const size_t __which = _S_binmap[__bytes]; - const size_t thread_id = _S_get_thread_id(); const bin_record& __bin = _S_bin[__which]; char* __c = reinterpret_cast(__p) - sizeof(block_record); block_record* block = reinterpret_cast(__c); #ifdef __GTHREADS if (__gthread_active_p()) { // Calculate the number of records to remove from our freelist. --- 436,448 ---- // Round up to power of 2 and figure out which bin to use. const size_t __which = _S_binmap[__bytes]; const bin_record& __bin = _S_bin[__which]; char* __c = reinterpret_cast(__p) - sizeof(block_record); block_record* block = reinterpret_cast(__c); #ifdef __GTHREADS + const size_t thread_id = _S_get_thread_id(); if (__gthread_active_p()) { // Calculate the number of records to remove from our freelist.