Message ID | ee2e06e91002191024rc2914eeia8a772e2e096f8cb@mail.gmail.com |
---|---|
State | New |
Headers | show |
On 2/19/10, Jay Foad <jay.foad@gmail.com> wrote: > On Linux/x86, configuring with --enable-debug, I get: > > CC sparc64-linux-user/translate.o > /home/foad/git/qemu/target-sparc/translate.c: In function > ‘gen_load_trap_state_at_tl’: > /home/foad/git/qemu/target-sparc/translate.c:1684: error: incompatible > type for argument 3 of ‘tcg_gen_add_i32’ > /home/foad/git/qemu/tcg/tcg-op.h:422: note: expected ‘TCGv_i32’ but > argument is of type ‘TCGv_i64’ > make[1]: *** [translate.o] Error 1 > > Does this look like a reasonable fix? > > Signed-off-by: Jay Foad <address@hidden> Yes, except for the Signed-off-by: line.
> Yes, except for the Signed-off-by: line.
Do I need to resend it for that? And if so, does that make it PATCH v2
(even though the patch hasn't changed)?
Or can I just put the fixed Signed-off-by: line in a reply?
Thanks,
Jay.
On 2/20/10, Jay Foad <jay.foad@gmail.com> wrote: > > Yes, except for the Signed-off-by: line. > > > Do I need to resend it for that? And if so, does that make it PATCH v2 > (even though the patch hasn't changed)? > > Or can I just put the fixed Signed-off-by: line in a reply? I'd suppose you'd also want to trim the commit message to remove the question, so please send a new patch.
diff --git a/target-sparc/translate.c b/target-sparc/translate.c index 7e9f0cf..b7d2a32 100644 --- a/target-sparc/translate.c +++ b/target-sparc/translate.c @@ -1663,27 +1663,27 @@ static inline TCGv get_src2(unsigned int insn, TCGv def) #ifdef TARGET_SPARC64 static inline void gen_load_trap_state_at_tl(TCGv_ptr r_tsptr, TCGv_ptr cpu_env) { - TCGv r_tl = tcg_temp_new(); + TCGv_i32 r_tl = tcg_temp_new_i32(); /* load env->tl into r_tl */ - { - TCGv_i32 r_tl_tmp = tcg_temp_new_i32(); - tcg_gen_ld_i32(r_tl_tmp, cpu_env, offsetof(CPUSPARCState, tl)); - tcg_gen_ext_i32_tl(r_tl, r_tl_tmp); - tcg_temp_free_i32(r_tl_tmp); - } + tcg_gen_ld_i32(r_tl, cpu_env, offsetof(CPUSPARCState, tl)); /* tl = [0 ... MAXTL_MASK] where MAXTL_MASK must be power of 2 */ - tcg_gen_andi_tl(r_tl, r_tl, MAXTL_MASK); + tcg_gen_andi_i32(r_tl, r_tl, MAXTL_MASK); /* calculate offset to current trap state from env->ts, reuse r_tl */ - tcg_gen_muli_tl(r_tl, r_tl, sizeof (trap_state)); + tcg_gen_muli_i32(r_tl, r_tl, sizeof (trap_state)); tcg_gen_addi_ptr(r_tsptr, cpu_env, offsetof(CPUState, ts)); /* tsptr = env->ts[env->tl & MAXTL_MASK] */ - tcg_gen_add_ptr(r_tsptr, r_tsptr, r_tl); + { + TCGv_ptr r_tl_tmp = tcg_temp_new_ptr(); + tcg_gen_ext_i32_ptr(r_tl_tmp, r_tl); + tcg_gen_add_ptr(r_tsptr, r_tsptr, r_tl_tmp); + tcg_temp_free_i32(r_tl_tmp); + } - tcg_temp_free(r_tl); + tcg_temp_free_i32(r_tl); } #endif
On Linux/x86, configuring with --enable-debug, I get: CC sparc64-linux-user/translate.o /home/foad/git/qemu/target-sparc/translate.c: In function ‘gen_load_trap_state_at_tl’: /home/foad/git/qemu/target-sparc/translate.c:1684: error: incompatible type for argument 3 of ‘tcg_gen_add_i32’ /home/foad/git/qemu/tcg/tcg-op.h:422: note: expected ‘TCGv_i32’ but argument is of type ‘TCGv_i64’ make[1]: *** [translate.o] Error 1 Does this look like a reasonable fix? Signed-off-by: Jay Foad <address@hidden> ---