It was getting 32-bit ABI register sizes wrong. This fixes it, and some related ABI problems. One note: - /* Irix 6.2 N32 ABI uses sd instructions for saving $gp and $ra, - but the register size used is only 32 bits. Make the address - for the saved register point to the lower 32 bits. */ + /* Irix 6.2 N32 ABI uses sd instructions for saving $gp and + $ra. */ PROC_REG_MASK (&temp_proc_desc) |= 1 << reg; - set_reg_offset (temp_saved_regs, reg, - sp + low_word + 8 - mips_isa_regsize (current_gdbarch) ); + set_reg_offset (temp_saved_regs, reg, sp + low_word); the computation ``8 - mips_isa_regsize'' is always ``0'' for the case in question so I eliminated the expression. The original reason for the hack has gone. committed, Andrew