From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jl2D9-00070a-26 for qemu-devel@nongnu.org; Sun, 13 Apr 2008 09:25:35 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jl2D7-00070O-LQ for qemu-devel@nongnu.org; Sun, 13 Apr 2008 09:25:33 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jl2D7-00070L-G5 for qemu-devel@nongnu.org; Sun, 13 Apr 2008 09:25:33 -0400 Received: from savannah.gnu.org ([199.232.41.3] helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Jl2D7-0000P9-BA for qemu-devel@nongnu.org; Sun, 13 Apr 2008 09:25:33 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1Jl2D6-0004DY-Ne for qemu-devel@nongnu.org; Sun, 13 Apr 2008 13:25:32 +0000 Received: from balrog by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1Jl2D6-0004DN-6t for qemu-devel@nongnu.org; Sun, 13 Apr 2008 13:25:32 +0000 MIME-Version: 1.0 Errors-To: balrog Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Andrzej Zaborowski Message-Id: Date: Sun, 13 Apr 2008 13:25:32 +0000 Subject: [Qemu-devel] [4204] Fix the offset in Thumb bl instruction. Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 4204 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4204 Author: balrog Date: 2008-04-13 13:25:31 +0000 (Sun, 13 Apr 2008) Log Message: ----------- Fix the offset in Thumb bl instruction. Modified Paths: -------------- trunk/target-arm/translate.c Modified: trunk/target-arm/translate.c =================================================================== --- trunk/target-arm/translate.c 2008-04-13 03:15:14 UTC (rev 4203) +++ trunk/target-arm/translate.c 2008-04-13 13:25:31 UTC (rev 4204) @@ -6912,7 +6912,7 @@ /* Second half of bl. */ offset = ((insn & 0x7ff) << 1) | 1; tmp = load_reg(s, 14); - tcg_gen_addi_i32(tmp, tmp, 14); + tcg_gen_addi_i32(tmp, tmp, offset); tmp2 = new_tmp(); tcg_gen_movi_i32(tmp2, s->pc | 1); @@ -8308,7 +8308,7 @@ tmp = load_reg(s, 13); val = (insn & 0x7f) * 4; if (insn & (1 << 7)) - val = -(int32_t)val; + val = -(int32_t)val; tcg_gen_addi_i32(tmp, tmp, val); store_reg(s, 13, tmp); break; @@ -8529,7 +8529,7 @@ case 15: if (disas_thumb2_insn(env, s, insn)) - goto undef32; + goto undef32; break; } return;