From 68e5db6f40e45c7cbc5777e9a3064527d67fd7fc Mon Sep 17 00:00:00 2001 From: macro Date: Tue, 6 Dec 2011 23:19:39 +0000 Subject: [PATCH] * mips-tdep.c (mips_pc_is_mips16): Reverse the order of checks performed to determine whether an address refers to standard MIPS or MIPS16 code. (mips16_next_pc): Use mips_pc_is_mips16 instead of is_mips16_addr. --- gdb/ChangeLog | 8 ++++++++ gdb/mips-tdep.c | 15 ++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index cd9507a37d..03ab8808bd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2011-12-06 Maciej W. Rozycki + + * mips-tdep.c (mips_pc_is_mips16): Reverse the order of checks + performed to determine whether an address refers to standard + MIPS or MIPS16 code. + (mips16_next_pc): Use mips_pc_is_mips16 instead of + is_mips16_addr. + 2011-12-06 Pedro Alves * breakpoint.c (breakpoint_restore_shadows): Rename to ... diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 7e74bc46a2..2e2383664f 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -989,18 +989,15 @@ 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. */ + /* 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. Otherwise if bit 0 of + the address is set, assume this is a MIPS16 address. */ sym = lookup_minimal_symbol_by_pc (memaddr); if (sym) return msymbol_is_special (sym); else - return 0; + return is_mips16_addr (memaddr); } /* MIPS believes that the PC has a sign extended value. Perhaps the @@ -1579,7 +1576,7 @@ mips16_next_pc (struct frame_info *frame, CORE_ADDR pc) static CORE_ADDR mips_next_pc (struct frame_info *frame, CORE_ADDR pc) { - if (is_mips16_addr (pc)) + if (mips_pc_is_mips16 (pc)) return mips16_next_pc (frame, pc); else return mips32_next_pc (frame, pc); -- 2.11.0