From e00bf403db1202862023231478e2f22b2ddd3878 Mon Sep 17 00:00:00 2001 From: Franck Bui-Huu Date: Thu, 3 Aug 2006 09:29:20 +0200 Subject: [PATCH] --- yaml --- r: 36000 b: refs/heads/master c: 0cceb4aa9acf6192a5f02134e764b1feeea8b9de h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/mips/kernel/process.c | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index a57f2dae812f..af0ee7ec4f70 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1666a6fc73f724cdc6bd7d699f9ada4b04953efe +refs/heads/master: 0cceb4aa9acf6192a5f02134e764b1feeea8b9de diff --git a/trunk/arch/mips/kernel/process.c b/trunk/arch/mips/kernel/process.c index da332d707ce5..309bfa4a1520 100644 --- a/trunk/arch/mips/kernel/process.c +++ b/trunk/arch/mips/kernel/process.c @@ -321,17 +321,15 @@ static int get_frame_info(struct mips_frame_info *info) if (is_jal_jalr_jr_ins(ip)) break; - if (is_sp_move_ins(ip)) { - if (info->frame_size) - continue; - info->frame_size = - ip->i_format.simmediate; + if (!info->frame_size) { + if (is_sp_move_ins(ip)) + info->frame_size = - ip->i_format.simmediate; + continue; } - - if (is_ra_save_ins(ip)) { - if (info->pc_offset != -1) - continue; + if (info->pc_offset == -1 && is_ra_save_ins(ip)) { info->pc_offset = ip->i_format.simmediate / sizeof(long); + break; } } if (info->frame_size && info->pc_offset >= 0) /* nested */