On 09/02/2016 15:20, Peter Maydell wrote:
> Compilation failure I'm afraid (all hosts):
> 
> /home/pm215/qemu/target-i386/translate.c: In function ‘tcg_x86_init’:
> /home/pm215/qemu/target-i386/translate.c:7724:34: error: passing
> argument 1 of ‘tcg_global_mem_new_i32’ makes pointer from integer
> without a cast [-Werror]
>                                   seg_base_names[i]);
>                                   ^
> In file included from /home/pm215/qemu/tcg/tcg-op.h:25:0,
>                  from /home/pm215/qemu/target-i386/translate.c:24:
> /home/pm215/qemu/tcg/tcg.h:644:24: note: expected ‘TCGv_ptr’ but
> argument is of type ‘int’
>  static inline TCGv_i32 tcg_global_mem_new_i32(TCGv_ptr reg, intptr_t offset,
>                         ^

Hmm, not on my host and I don't see what's going on:

    static const char seg_base_names[6][8] = {
        [R_CS] = "cs_base",
        [R_DS] = "ds_base",
        [R_ES] = "es_base",
        [R_FS] = "fs_base",
        [R_GS] = "gs_base",
        [R_SS] = "ss_base",
    };

        cpu_seg_base[i]
            = tcg_global_mem_new(TCG_AREG0,
                                 offsetof(CPUX86State, segs[i].base),
                                 seg_base_names[i]);


There's no difference between that and e.g.

    cpu_cc_src2 = tcg_global_mem_new(TCG_AREG0,
                                     offsetof(CPUX86State, cc_src2),
                                     "cc_src2");


Paolo

Reply via email to