From: pbrook Date: Sun, 12 Nov 2006 21:31:18 +0000 (+0000) Subject: M68k build fix. X-Git-Tag: TizenStudio_2.0_p2.3~14008 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2d37be61e3a377843f4e8b8fcc837838294b8b3f;p=sdk%2Femulator%2Fqemu.git M68k build fix. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2212 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/target-m68k/op.c b/target-m68k/op.c index 489eafe..8ea7589 100644 --- a/target-m68k/op.c +++ b/target-m68k/op.c @@ -412,7 +412,10 @@ OP(divu) quot = num / den; rem = num % den; flags = 0; - if (PARAM1 && quot > 0xffff) + /* Avoid using a PARAM1 of zero. This breaks dyngen because it uses + the address of a symbol, and gcc knows symbols can't have address + zero. */ + if (PARAM1 == 2 && quot > 0xffff) flags |= CCF_V; if (quot == 0) flags |= CCF_Z; @@ -439,7 +442,7 @@ OP(divs) quot = num / den; rem = num % den; flags = 0; - if (PARAM1 && quot != (int16_t)quot) + if (PARAM1 == 2 && quot != (int16_t)quot) flags |= CCF_V; if (quot == 0) flags |= CCF_Z; diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 10728f9..9c34c62 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -747,9 +747,9 @@ DISAS_INSN(divl) den = gen_ea(s, insn, OS_LONG, 0, NULL); gen_op_mov32(QREG_DIV2, den); if (ext & 0x0800) { - gen_op_divs(0); + gen_op_divs(2); } else { - gen_op_divu(0); + gen_op_divu(2); } if (num == reg) { /* div */