There are a few bugs in do_mixed_source_and_assembly() when dealing with the ia64. One problem is that cleanups for tuples and lists can possibly be deferred to a future iteration of a loop, however, the values are reinitialized to NULL each time at the start of the loop. Another problem is that the code to figure out if the list/tuple should be closed off is inside a block of code that is not always reached in every iteration. These two problems combined to cause a SIGSEGV in gdb because a NULL pointer gets passed into do_cleanups() which causes all cleanups to be performed up the chain. I have submitted a separate patch to prevent running the entire chain when NULL input is passed. Ok to commit? -- Jeff J. 2003-12-17 Jeff Johnston * disasm.c (do_mixed_source_and_assembly): For uiout asm list and tuple cleanups, don't reset to NULL until we close off the tuple/list. Also move check for whether to close off the asm tuple/list to where it will be run on each iteration of the loop.