Patchwork fix qemu compile error with --enable-debug

login
register
mail settings
Submitter Wanpeng Li
Date July 4, 2012, 12:47 a.m.
Message ID <1341362821-10386-1-git-send-email-liwp.linux@gmail.com>
Download mbox | patch
Permalink /patch/168878/
State New
Headers show

Comments

Wanpeng Li - July 4, 2012, 12:47 a.m.
From: Wanpeng Li <liwp@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.linux@gmail.com>
---
 target-i386/translate.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)
dunrong huang - July 4, 2012, 2:51 a.m.
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.linux@gmail.com>:
> From: Wanpeng Li <liwp@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.linux@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
>
>
Wanpeng Li - July 4, 2012, 3:03 a.m.
On Wed, Jul 04, 2012 at 10:51:25AM +0800, Dunrong Huang wrote:
>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
>
Oh, thank you!

>
>2012/7/4 Wanpeng Li <liwp.linux@gmail.com>:
>> From: Wanpeng Li <liwp@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.linux@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

Patch

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;