MAGIC Magic Mailing List
 
 

From: Conrad H Ziesler (cziesler AT eecs DOT umich.edu)
Date: Sat Sep 21 2002 - 19:23:53 EDT

  • Next message: Conrad H Ziesler: "Router/wiring section Techfile scaling bug."

    hi, theres a simple to fix bug in the router and netlist code that causes
    random bus-errors/segfaults
    after fixing it, i successfully did final core-to pads  channel routing
    for a 10mm^2 0.25um chip.
    
    its in the usage of the function HeapAdd() from utils/heap.c
    in all of the various modules that routing related
    i just ended up doing grep -R "HeapAdd" to catch them all
    
    the code calls it with an integer ptr arguemnt.
     int bug;
     HeapAdd(&glMazeHeap, &bug, (char *) new);
    
    but HeapAdd is looking for a union heUnion *
    and copies more than one int's worth of data from the ptr,
    causing intermittant bus-erros on Solaris.
    
    anyhow changing all of those calls to
     { union heUnion tmpkey;
       tmpkey.hu_int=dist;
       HeapAdd(&glMazeHeap, &tmpkey, (char *) new);
     }
    
    fixes the problem.
    
    --conrad
    


  •  
     
    Questions? Contact Rajit Manohar
    cornell logo