• Sergei Golubchik's avatar
    workaround for gcc 4.3.2 bug on lenny-x86 at -O3 · 2974093a
    Sergei Golubchik authored
    The following piece of code in trnman.c:
    
    345   trn->min_read_from=  active_list_min.next->trid;
      ...
    351   active_list_max.prev= trn->prev->next= trn;
    352   trid_min_read_from= active_list_min.next->min_read_from;
    
    on 345 gcc stores active_list_min.next in %ebx
    (and trn->min_read_from=[%ebx]->trid)
    and on 352 it does trid_min_read_from= [%ebx]->min_read_from;
    BUT active_list_min.next was changed on the line 351.
    gcc doesn't notice it and continues to use the cached value.
    2974093a
trnman.c 28.3 KB