Re: [Boost-bugs] [Boost C++ Libraries] #7093: Building "system" segfaults on AIX 6.1 / vacpp

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7093: Building "system" segfaults on AIX 6.1 / vacpp
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-03-09 00:45:50


#7093: Building "system" segfaults on AIX 6.1 / vacpp
----------------------------------------------------+-----------------------
  Reporter: Martin Baute <solar@…> | Owner: vladimir_prus
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: build
   Version: Boost 1.50.0 | Severity: Regression
Resolution: | Keywords: aix
----------------------------------------------------+-----------------------

Comment (by steven_watanabe):

 I've found the culprit. As I suspected, it's in list_sublist.

 {{{
 837 __L830: # 0x00000830
 (H.10.NO_SYMBOL+0x830)
 838 neg r3,r0
 839 addi r0,r28,4
 840 stw r30,0(r6)
 841 or r7,r6,r3
 842 lwz r3,0(r6)
 843 stwx r3,r5,r4
 }}}

 {{{
 line 34(list_alloc): freelist[ bucket ] = result->next;
 line 171(list_copy_range): result->impl.size = size
 }}}

 result is the same pointer in both functions. This is reordered to

 {{{
 result->impl.size = size;
 freelist[ bucket ] = result->next;
 }}}

 which is equivalent to

 {{{
 result->impl.size = size;
 freelist[ bucket ] = (struct freelist_node*)size;
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7093#comment:13>
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:12 UTC