On 11/04/2017 05:55 AM, Laurent Vivier wrote:
> Le 03/11/2017 à 22:51, Philippe Mathieu-Daudé a écrit :
>>> On 11/03/2017 05:26 PM, Laurent Vivier wrote:
>>>> This series fixes some errors found by
>>>> enabling USE_SOFTFLOAT_STRUCT_TYPES.
>> [...]
>>>
>>> I'm getting those errors:
>>>
>>> $ make subdir-arm-softmmu -j2
>>>
>>> /source/qemu/migration/vmstate-types.c:430:5: error: conversion to
>>> non-scalar type requested
>>>      qemu_put_be64(f, float64_val(*v));
>>>      ^~~~~~~~~~~~~
>>> make: *** [migration/vmstate-types.o] Error 1
[...]
> 
> These series doesn't fix all the problems, only the easiest to fix...
> 
> for this one, you need:
> 
> diff --git a/migration/vmstate-types.c b/migration/vmstate-types.c
> index 48184c380d..0c273d616a 100644
> --- a/migration/vmstate-types.c
> +++ b/migration/vmstate-types.c
> @@ -425,7 +425,7 @@ static int get_float64(QEMUFile *f, void *pv, size_t
> size,
>  static int put_float64(QEMUFile *f, void *pv, size_t size, VMStateField
> *field,
>                         QJSON *vmdesc)
>  {
> -    uint64_t *v = pv;
> +    float64 *v = pv;
> 
>      qemu_put_be64(f, float64_val(*v));
>      return 0;

If you respin with this one you can add my Reviewed-by + Tested-by.

Another error:

$ make subdir-aarch64-softmmu
[...]
  CC      target/arm/helper-a64.o
/source/qemu/target/arm/helper-a64.c: In function ‘helper_simd_tbl’:
/source/qemu/target/arm/helper-a64.c:162:38: error: incompatible type
for argument 1 of ‘extract64’
             uint64_t val = extract64(env->vfp.regs[elt], bitidx, 8);
                                      ^~~
In file included from /source/qemu/include/qemu/bitmap.h:16:0,
                 from /source/qemu/include/hw/qdev-core.h:6,
                 from /source/qemu/include/qom/cpu.h:23,
                 from /source/qemu/target/arm/cpu-qom.h:23,
                 from /source/qemu/target/arm/cpu.h:39,
                 from /source/qemu/target/arm/helper-a64.c:21:
/source/qemu/include/qemu/bitops.h:316:24: note: expected ‘uint64_t {aka
long unsigned int}’ but argument is of type ‘float64 {aka struct
<anonymous>}’
 static inline uint64_t extract64(uint64_t value, int start, int length)
                        ^~~~~~~~~
make: *** [target/arm/helper-a64.o] Error 1

Reply via email to