[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target-alpha: Avoid gcc 6.1 werror for linux-us
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH] target-alpha: Avoid gcc 6.1 werror for linux-user |
Date: |
Mon, 27 Jun 2016 20:32:05 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 |
On 17/06/2016 21:46, Richard Henderson wrote:
> Using gcc 6.1 for alpha-linux-user target we see the following build error:
>
> .../target-alpha/translate.c: In function ‘in_superpage’:
> .../target-alpha/translate.c:454:52: error: self-comparison always evaluates
> to true [-Werror=tautological-compare]
> && addr >> TARGET_VIRT_ADDR_SPACE_BITS == addr >> 63);
>
> Reported-by: Pranith Kumar <address@hidden>
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> target-alpha/translate.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/target-alpha/translate.c b/target-alpha/translate.c
> index f9b2426..051b4b7 100644
> --- a/target-alpha/translate.c
> +++ b/target-alpha/translate.c
> @@ -448,10 +448,13 @@ static ExitStatus gen_store_conditional(DisasContext
> *ctx, int ra, int rb,
>
> static bool in_superpage(DisasContext *ctx, int64_t addr)
> {
> +#ifndef CONFIG_USER_ONLY
> return ((ctx->tb->flags & TB_FLAGS_USER_MODE) == 0
> - && addr < 0
> - && ((addr >> 41) & 3) == 2
> - && addr >> TARGET_VIRT_ADDR_SPACE_BITS == addr >> 63);
> + && addr >> TARGET_VIRT_ADDR_SPACE_BITS == -1
> + && ((addr >> 41) & 3) == 2);
> +#else
> + return false;
> +#endif
> }
>
> static bool use_goto_tb(DisasContext *ctx, uint64_t dest)
>
Peter, can you apply this as a build-breakage fix? (Fedora 24 is now
out and has this bug).
Paolo