The stitcher code is in /afs/cs/home/matthai/mf/test/newlib/ The thing to do probably is to get a very simple instance of the program going (small inputs, so you know what the answer should be, and 1 or 2 iterations of any static inner loop); once that runs, you can insert printfs in the dynamic region to check exactly where values are going wrong; then go into the stitched region (using gdb) and look at the corresponding assembler to figure out what's going on. 1)______How to get to the stitched region:_______ Within gdb, once you start the program, break _dyn_stitch will allow you to stop at the beginning of the call to the stitcher Then find out the line number (say 846) of the return statement that exits the stitcher and type break 846 and then cont The program will now stop at the return statement. You now have to type si a few times to single step through instructions before it prints out a message like: 0x8047393 in stitched region (Actually now that I'm not mallocing the stitched region, we may be able to do something like break _stitched_region or something to that effect) This means that the array _stitched_region begins at 0x8047393 You can now look at the instructions in the array by: disass 0x8047393 0x8047593 <---disass needs a range as arg 2)Misc. gdb commands: -------------------- printf "0x%x",*0x3433321 will give you the contents of 0x343... info reg 21 tells you what's in reg 21 info reg f21 tells you what's in reg f21 3)Yet more random stuff: ---------------------- --Remember that r23 is the table register and r22 is the scratch register --Don't forget to use the emacs rename-registers-to-multiflow script to get rid of gdb's reg naming scheme; now your disassembled code should look very similar to the assembly code in the .s file, and you should be able to figure out if there are any extraneous instructions by comparing with the .s file --If you use libdebug instead of libdyn, you'll get a printout of the sequence of directives followed by the stitcher; one approach I've found useful (depending on the type of bug) is to compare the directives followed with those in the .s file and confirm the stitcher is following the right directives. --If you get unaligned access messages, do: % uac p 0 to turn them off.