Index: mips-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/mips-tdep.c,v retrieving revision 1.404 diff -u -p -r1.404 mips-tdep.c --- mips-tdep.c 27 Feb 2007 20:17:19 -0000 1.404 +++ mips-tdep.c 7 Mar 2007 04:02:06 -0000 @@ -808,10 +808,6 @@ mips_pc_is_mips16 (CORE_ADDR memaddr) { struct minimal_symbol *sym; - /* If bit 0 of the address is set, assume this is a MIPS16 address. */ - if (is_mips16_addr (memaddr)) - return 1; - /* A flag indicating that this is a MIPS16 function is stored by elfread.c in the high bit of the info field. Use this to decide if the function is MIPS16 or normal MIPS. */ @@ -1640,7 +1636,8 @@ mips_insn16_frame_cache (struct frame_in /* Analyze the function prologue. */ { - const CORE_ADDR pc = frame_pc_unwind (next_frame); + const CORE_ADDR pc = + frame_unwind_address_in_block (next_frame, NORMAL_FRAME); CORE_ADDR start_addr; find_pc_partial_function (pc, NULL, &start_addr, NULL); @@ -1961,7 +1958,8 @@ mips_insn32_frame_cache (struct frame_in /* Analyze the function prologue. */ { - const CORE_ADDR pc = frame_pc_unwind (next_frame); + const CORE_ADDR pc = + frame_unwind_address_in_block (next_frame, NORMAL_FRAME); CORE_ADDR start_addr; find_pc_partial_function (pc, NULL, &start_addr, NULL);