From 34b192ce9c35a0833f2fe13e472df189125be4c1 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Tue, 10 Apr 2012 23:06:57 +0000 Subject: [PATCH] * mips-tdep.c (mips_skip_pic_trampoline_code): Correct sign extension in jump target calculation. --- gdb/ChangeLog | 5 +++++ gdb/mips-tdep.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1312b1e..83dfa08 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2011-04-10 Maciej W. Rozycki + * mips-tdep.c (mips_skip_pic_trampoline_code): Correct sign + extension in jump target calculation. + +2011-04-10 Maciej W. Rozycki + * mips-tdep.c (mips32_next_pc): Handle JALX. 2012-04-10 Yao Qi diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 7ec3583..7b0ca70 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -5768,8 +5768,8 @@ mips_skip_pic_trampoline_code (struct frame_info *frame, CORE_ADDR pc) && (stub_words[1] & 0xfc000000U) == 0x08000000 && (stub_words[2] & 0xffff0000U) == 0x27390000 && stub_words[3] == 0x00000000) - return (((stub_words[0] & 0x0000ffff) << 16) - + (stub_words[2] & 0x0000ffff)); + return ((((stub_words[0] & 0x0000ffff) << 16) + + (stub_words[2] & 0x0000ffff)) ^ 0x8000) - 0x8000; } /* Not a recognized stub. */ -- 2.7.4