From: Peter Maydell Date: Mon, 18 Apr 2011 15:34:26 +0000 (+0100) Subject: m68k-semi.c: Use correct check for failure of do_brk() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5382a012e8ce7cf5ea612d291286be827574c181;p=qemu.git m68k-semi.c: Use correct check for failure of do_brk() In the m68k semihosting implementation of HOSTED_INIT_SIM, use the correct check for whether do_brk() has failed -- it does not return -1 but the previous value of the break limit. Signed-off-by: Peter Maydell Signed-off-by: Riku Voipio --- diff --git a/m68k-semi.c b/m68k-semi.c index 0371089b98..7fde10e8f3 100644 --- a/m68k-semi.c +++ b/m68k-semi.c @@ -370,7 +370,7 @@ void do_m68k_semihosting(CPUM68KState *env, int nr) TaskState *ts = env->opaque; /* Allocate the heap using sbrk. */ if (!ts->heap_limit) { - long ret; + abi_ulong ret; uint32_t size; uint32_t base; @@ -379,8 +379,9 @@ void do_m68k_semihosting(CPUM68KState *env, int nr) /* Try a big heap, and reduce the size if that fails. */ for (;;) { ret = do_brk(base + size); - if (ret != -1) + if (ret >= (base + size)) { break; + } size >>= 1; } ts->heap_limit = base + size;