There have been two discussions about this error: http://lists.nongnu.org/archive/html/qemu-devel/2012-06/msg04858.html and http://lists.nongnu.org/archive/html/qemu-devel/2012-06/msg04728.html
2012/7/4 Wanpeng Li <liwp.li...@gmail.com>: > From: Wanpeng Li <l...@linux.vnet.ibm.com> > > CC i386-softmmu/target-i386/translate.o > /home/kernel/qemu/target-i386/translate.c: In function ‘gen_sse’: > /home/kernel/qemu/target-i386/translate.c:3571:27: error: assignment from > incompatible pointer type [-Werror] > /home/kernel/qemu/target-i386/translate.c:3573:17: error: incompatible type > for argument 2 of ‘sse_fn_pl’ > /home/kernel/qemu/target-i386/translate.c:3573:17: note: expected ‘TCGv_i64’ > but argument is of type ‘TCGv_i32’ > /home/kernel/qemu/target-i386/translate.c:3633:28: error: assignment from > incompatible pointer type [-Werror] > /home/kernel/qemu/target-i386/translate.c:3636:17: error: incompatible type > for argument 1 of ‘sse_fn_l_p’ > /home/kernel/qemu/target-i386/translate.c:3636:17: note: expected ‘TCGv_i64’ > but argument is of type ‘TCGv_i32’ > cc1: all warnings being treated as errors > > make[1]: *** [target-i386/translate.o] Error 1 > make: *** [subdir-i386-softmmu] Error 2 > > Signed-off-by: Wanpeng Li <liwp.li...@gmail.com> > --- > target-i386/translate.c | 10 ++++------ > 1 files changed, 4 insertions(+), 6 deletions(-) > > diff --git a/target-i386/translate.c b/target-i386/translate.c > index a902f4a..ab1d0ff 100644 > --- a/target-i386/translate.c > +++ b/target-i386/translate.c > @@ -3098,9 +3098,7 @@ static void gen_sse(DisasContext *s, int b, > target_ulong pc_start, int rex_r) > int b1, op1_offset, op2_offset, is_xmm, val, ot; > int modrm, mod, rm, reg, reg_addr, offset_addr; > SSEFunc_i_p sse_fn_i_p; > - SSEFunc_l_p sse_fn_l_p; > SSEFunc_0_pi sse_fn_pi; > - SSEFunc_0_pl sse_fn_pl; > SSEFunc_0_pp sse_fn_pp; > SSEFunc_0_ppi sse_fn_ppi; > SSEFunc_0_ppt sse_fn_ppt; > @@ -3568,9 +3566,9 @@ static void gen_sse(DisasContext *s, int b, > target_ulong pc_start, int rex_r) > tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T[0]); > sse_fn_pi(cpu_ptr0, cpu_tmp2_i32); > } else { > - sse_fn_pl = sse_op_table3a[(s->dflag == 2) * 2 + > + sse_fn_pi = sse_op_table3a[(s->dflag == 2) * 2 + > ((b >> 8) - 2)]; > - sse_fn_pl(cpu_ptr0, cpu_T[0]); > + sse_fn_pi(cpu_ptr0, cpu_T[0]); > } > break; > case 0x02c: /* cvttps2pi */ > @@ -3630,10 +3628,10 @@ static void gen_sse(DisasContext *s, int b, > target_ulong pc_start, int rex_r) > sse_fn_i_p(cpu_tmp2_i32, cpu_ptr0); > tcg_gen_extu_i32_tl(cpu_T[0], cpu_tmp2_i32); > } else { > - sse_fn_l_p = sse_op_table3b[(s->dflag == 2) * 2 + > + sse_fn_i_p = sse_op_table3b[(s->dflag == 2) * 2 + > ((b >> 8) - 2) + > (b & 1) * 4]; > - sse_fn_l_p(cpu_T[0], cpu_ptr0); > + sse_fn_i_p(cpu_T[0], cpu_ptr0); > } > gen_op_mov_reg_T0(ot, reg); > break; > -- > 1.7.5.4 > > -- Best Regards, Dunrong Huang