[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] sparc-softmmu uninitialized memory read?
From: |
Andreas Färber |
Subject: |
Re: [Qemu-ppc] sparc-softmmu uninitialized memory read? |
Date: |
Mon, 07 May 2012 02:02:58 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120421 Thunderbird/12.0 |
Am 06.05.2012 21:27, schrieb malc:
> The attached patch is broken for non SysV calling conventions, would be
> nice if you could test things on Darwin (and, if your power5 box still has
> AIX, on AIX)
I replaced AIX 5.x with openSUSE, sorry. :)
> diff --git a/tcg/ppc/tcg-target.c b/tcg/ppc/tcg-target.c
> index dc40716..311af18 100644
> --- a/tcg/ppc/tcg-target.c
> +++ b/tcg/ppc/tcg-target.c
[...]
> @@ -810,6 +829,17 @@ static void tcg_out_qemu_st (TCGContext *s, const TCGArg
> *args, int opc)
> #endif
>
> /* slow path */
> +#ifdef CONFIG_TCG_PASS_AREG0
> + tcg_out_mov (s, TCG_TYPE_I32, 3, TCG_AREG0);
> +#if TARGET_LONG_BITS == 32
> + tcg_out_mov (s, TCG_TYPE_I32, 4, addr_reg);
> + ir = 5;
> +#else
> + tcg_out_mov (s, TCG_TYPE_I32, 5, addr_reg2);
> + tcg_out_mov (s, TCG_TYPE_I32, 6, addr_reg);
Here we should be using r4 + r5 for non-aligned targets. Alternative
patch sent that hopefully avoids such issues and the code duplication.
If you prefer two separate code paths for some reason, please at least
consider using a fool-proof alignment macro such as proposed.
/-F
> + ir = 7;
> +#endif
> +#else
> #if TARGET_LONG_BITS == 32
> tcg_out_mov (s, TCG_TYPE_I32, 3, addr_reg);
> ir = 4;
[snip]
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-ppc] sparc-softmmu uninitialized memory read?,
Andreas Färber <=