diff options
author | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-11-12 21:31:18 +0000 |
---|---|---|
committer | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-11-12 21:31:18 +0000 |
commit | 2d37be61e3a377843f4e8b8fcc837838294b8b3f (patch) | |
tree | 4fa83386a55d426e5ba8c6a175a4b53ef98643b7 /target-m68k/op.c | |
parent | 483dcf538ea2ac86914bf7deef1d07f3b48d8878 (diff) |
M68k build fix.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2212 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-m68k/op.c')
-rw-r--r-- | target-m68k/op.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/target-m68k/op.c b/target-m68k/op.c index 489eafeef6..8ea7589c3f 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; |