Skip to content

Build fails on Ubuntu 23.10 #7

Description

@bata24

There are two major errors.

1. enum/integer mismatch

I think this is actually an error that can be ignored.

[333/1152] Compiling C object libqemu-cskyv1-linux-user.fa.p/fpu_softfloat.c.o
In file included from /tmp/qemu-csky/qemu/include/qemu/osdep.h:37,
                 from ../fpu/softfloat.c:85:
../fpu/softfloat.c:1590:39: warning: conflicting types for ‘parts64_compare’ due to enum/integer mismatch; have ‘FloatRelation(FloatParts64 *, FloatParts64 *, float_status *, _Bool)’ [-Wenum-int-mismatch]
 1590 | #define partsN(NAME)   glue(glue(glue(parts,N),_),NAME)
      |                                       ^~~~~
/tmp/qemu-csky/qemu/include/qemu/compiler.h:35:21: note: in definition of macro ‘xglue’
   35 | #define xglue(x, y) x ## y
      |                     ^
../fpu/softfloat.c:1590:24: note: in expansion of macro ‘glue’
 1590 | #define partsN(NAME)   glue(glue(glue(parts,N),_),NAME)
      |                        ^~~~
/tmp/qemu-csky/qemu/include/qemu/compiler.h:36:20: note: in expansion of macro ‘xglue’
   36 | #define glue(x, y) xglue(x, y)
      |                    ^~~~~
../fpu/softfloat.c:1590:29: note: in expansion of macro ‘glue’
 1590 | #define partsN(NAME)   glue(glue(glue(parts,N),_),NAME)
      |                             ^~~~
/tmp/qemu-csky/qemu/include/qemu/compiler.h:36:20: note: in expansion of macro ‘xglue’
   36 | #define glue(x, y) xglue(x, y)
      |                    ^~~~~
../fpu/softfloat.c:1590:34: note: in expansion of macro ‘glue’
 1590 | #define partsN(NAME)   glue(glue(glue(parts,N),_),NAME)
      |                                  ^~~~
../fpu/softfloat-parts.c.inc:1297:22: note: in expansion of macro ‘partsN’
 1297 | static FloatRelation partsN(compare)(FloatPartsN *a, FloatPartsN *b,
      |                      ^~~~~~
../fpu/softfloat.c:874:12: note: previous declaration of ‘parts64_compare’ with type ‘int(FloatParts64 *, FloatParts64 *, float_status *, _Bool)’
  874 | static int parts64_compare(FloatParts64 *a, FloatParts64 *b,
      |            ^~~~~~~~~~~~~~~
../fpu/softfloat.c:1590:39: warning: conflicting types for ‘parts128_compare’ due to enum/integer mismatch; have ‘FloatRelation(FloatParts128 *, FloatParts128 *, float_status *, _Bool)’ [-Wenum-int-mismatch]
 1590 | #define partsN(NAME)   glue(glue(glue(parts,N),_),NAME)
      |                                       ^~~~~
/tmp/qemu-csky/qemu/include/qemu/compiler.h:35:21: note: in definition of macro ‘xglue’
   35 | #define xglue(x, y) x ## y
      |                     ^
../fpu/softfloat.c:1590:24: note: in expansion of macro ‘glue’
 1590 | #define partsN(NAME)   glue(glue(glue(parts,N),_),NAME)
      |                        ^~~~
/tmp/qemu-csky/qemu/include/qemu/compiler.h:36:20: note: in expansion of macro ‘xglue’
   36 | #define glue(x, y) xglue(x, y)
      |                    ^~~~~
../fpu/softfloat.c:1590:29: note: in expansion of macro ‘glue’
 1590 | #define partsN(NAME)   glue(glue(glue(parts,N),_),NAME)
      |                             ^~~~
/tmp/qemu-csky/qemu/include/qemu/compiler.h:36:20: note: in expansion of macro ‘xglue’
   36 | #define glue(x, y) xglue(x, y)
      |                    ^~~~~
../fpu/softfloat.c:1590:34: note: in expansion of macro ‘glue’
 1590 | #define partsN(NAME)   glue(glue(glue(parts,N),_),NAME)
      |                                  ^~~~
../fpu/softfloat-parts.c.inc:1297:22: note: in expansion of macro ‘partsN’
 1297 | static FloatRelation partsN(compare)(FloatPartsN *a, FloatPartsN *b,
      |                      ^~~~~~
../fpu/softfloat.c:876:12: note: previous declaration of ‘parts128_compare’ with type ‘int(FloatParts128 *, FloatParts128 *, float_status *, _Bool)’
  876 | static int parts128_compare(FloatParts128 *a, FloatParts128 *b,

2. array bound error

[426/1152] Compiling C object libqemu-cskyv2-linux-user.fa.p/target_csky_op_vdsp2.c.o
../target/csky/op_vdsp2.c: In function ‘helper_vdsp2_vmulae’:
../target/csky/op_vdsp2.c:4875:43: warning: array subscript 2 is above array bounds of ‘uint64_t[2]’ {aka ‘long unsigned int[2]’} [-Warray-bounds=]
 4875 |                     env->vfp.reg[rz].udspl[cnt + i] +
      |                     ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from ../target/csky/op_vdsp2.c:20:
../target/csky/cpu.h:207:22: note: while referencing ‘udspl’
  207 |             uint64_t udspl[2];
      |                      ^~~~~
../target/csky/op_vdsp2.c:4875:43: warning: array subscript 3 is above array bounds of ‘uint64_t[2]’ {aka ‘long unsigned int[2]’} [-Warray-bounds=]
 4875 |                     env->vfp.reg[rz].udspl[cnt + i] +
      |                     ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../target/csky/cpu.h:207:22: note: while referencing ‘udspl’
  207 |             uint64_t udspl[2];
      |                      ^~~~~
../target/csky/op_vdsp2.c:4861:43: warning: array subscript 4 is above array bounds of ‘uint32_t[4]’ {aka ‘unsigned int[4]’} [-Warray-bounds=]
 4861 |                     env->vfp.reg[rz].udspi[cnt + i] +
      |                     ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../target/csky/cpu.h:209:22: note: while referencing ‘udspi’
  209 |             uint32_t udspi[4];
      |                      ^~~~~
../target/csky/op_vdsp2.c:4847:43: warning: array subscript 8 is above array bounds of ‘uint16_t[8]’ {aka ‘short unsigned int[8]’} [-Warray-bounds=]
 4847 |                     env->vfp.reg[rz].udsps[cnt + i] +
      |                     ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../target/csky/cpu.h:211:22: note: while referencing ‘udsps’
  211 |             uint16_t udsps[8];
      |                      ^~~~~
../target/csky/op_vdsp2.c:4830:42: warning: array subscript 2 is above array bounds of ‘int64_t[2]’ {aka ‘long int[2]’} [-Warray-bounds=]
 4830 |                     env->vfp.reg[rz].dspl[cnt + i] +
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../target/csky/cpu.h:208:22: note: while referencing ‘dspl’
  208 |             int64_t  dspl[2];
      |                      ^~~~
../target/csky/op_vdsp2.c:4830:42: warning: array subscript 3 is above array bounds of ‘int64_t[2]’ {aka ‘long int[2]’} [-Warray-bounds=]
 4830 |                     env->vfp.reg[rz].dspl[cnt + i] +
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../target/csky/cpu.h:208:22: note: while referencing ‘dspl’
  208 |             int64_t  dspl[2];
      |                      ^~~~
../target/csky/op_vdsp2.c:4816:42: warning: array subscript 4 is above array bounds of ‘int32_t[4]’ {aka ‘int[4]’} [-Warray-bounds=]
 4816 |                     env->vfp.reg[rz].dspi[cnt + i] +
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../target/csky/cpu.h:210:22: note: while referencing ‘dspi’
  210 |             int32_t  dspi[4];
      |                      ^~~~
../target/csky/op_vdsp2.c:4802:42: warning: array subscript 8 is above array bounds of ‘int16_t[8]’ {aka ‘short int[8]’} [-Warray-bounds=]
 4802 |                     env->vfp.reg[rz].dsps[cnt + i] +
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../target/csky/cpu.h:212:22: note: while referencing ‘dsps’
  212 |             int16_t  dsps[8];
      |                      ^~~~

By predefining export CXXFLAGS="-Wno-error"; export CFLAGS="-Wno-error", the build will proceed to the end.
However, I thought it would be better to report it, so I did so.

build.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions