Skip to content

Build fails on Ubuntu 23.10 #7

@bata24

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions