Richard Henderson <richard.hender...@linaro.org> wrote: > On 5/10/23 13:20, Juan Quintela wrote: >> Richard Henderson <richard.hender...@linaro.org> wrote: >>> On 5/9/23 20:17, Juan Quintela wrote: >>>> The following changes since commit >>>> 271477b59e723250f17a7e20f139262057921b6a: >>>> Merge tag 'compression-code-pull-request' of >>>> https://gitlab.com/juan.quintela/qemu into staging (2023-05-08 >>>> 20:38:05 +0100) >>>> are available in the Git repository at: >>>> https://gitlab.com/juan.quintela/qemu.git >>>> tags/migration-20230509-pull-request >>>> for you to fetch changes up to >>>> 5f43d297bc2b9530805ad8602c6e2ea284b08628: >>>> migration: block incoming colo when capability is disabled >>>> (2023-05-09 20:52:21 +0200) >>>> ---------------------------------------------------------------- >>>> Migration Pull request (20230509 vintage) >>>> Hi >>>> In this PULL request: >>>> - 1st part of colo support for multifd (lukas) >>>> - 1st part of disabling colo option (vladimir) >>>> Please, apply. >>> >>> Build failures. >>> >>> https://gitlab.com/qemu-project/qemu/-/jobs/4257605099#L2241 >>> >>> 85 | void colo_record_bitmap(RAMBlock *block, ram_addr_t *normal, uint >>> normal_num); >>> | ^~~~ >>> | u_int >>> >> Grrr >> And the worst thing is that hate those types, tried to get then out >> long, long ago for a similar problem.
While I was not looking, some of them were corrected: commit d7df0b41dc38327388c3f19fdf4246793d4a1e4b Author: Marc-André Lureau <marcandre.lur...@redhat.com> Date: Thu Jan 17 15:43:53 2019 +0400 slirp: prefer c99 types over BSD kind Replace: - u_char -> uint8_t - u_short -> uint16_t - u_long -> uint32_t - u_int -> unsigned - caddr_t -> char * > Where do these types come from, and can we poison them on the qemu side? grep " uint;" on my system includes. I know that there are more creative ways to define it. /usr/include/ffi-x86_64.h\0278: ffi_arg uint; /usr/include/sys/types.h\0150:typedef unsigned int uint; #ifdef __USE_MISC /* Old compatibility names for C types. */ typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; #endif I guess we get those someway. /usr/include/nspr4/obsolete/protypes.h\052:typedef PRUintn uint; /usr/include/mysql/server/my_global.h\0465:typedef unsigned int uint; /usr/include/boost/iostreams/filter/zlib.hpp\047:typedef uint32_t uint; /usr/include/qt5/QtCore/qglobal.h\0275:typedef unsigned int uint; in qt it is defined for everything. If I disable the ones in sys/types.h I got: cc -m64 -mcx16 -Ilibqemu-loongarch64-linux-user.fa.p -I. -I../../../../mnt/code/qemu/full -Itarget/loongarch -I../../../../mnt/code/qemu/full/target/loongarch -I../../../../mnt/code/qemu/full/common-user/host/x86_64 -I../../../../mnt/code/qemu/full/linux-user/include/host/x86_64 -I../../../../mnt/code/qemu/full/linux-user/include -Ilinux-user -I../../../../mnt/code/qemu/full/linux-user -I../../../../mnt/code/qemu/full/linux-user/loongarch64 -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/capstone -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -fdiagnostics-color=auto -Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g -isystem /mnt/code/qemu/full/linux-headers -isystem linux-headers -iquote . -iquote /mnt/code/qemu/full -iquote /mnt/code/qemu/full/include -iquote /mnt/code/qemu/full/tcg/i386 -pthread -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fno-common -fwrapv -Wundef -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wmissing-format-attribute -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong -fPIE -isystem../../../../mnt/code/qemu/full/linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="loongarch64-linux-user-config-target.h"' '-DCONFIG_DEVICES="loongarch64-linux-user-config-devices.h"' -MD -MQ libqemu-loongarch64-linux-user.fa.p/linux-user_syscall.c.o -MF libqemu-loongarch64-linux-user.fa.p/linux-user_syscall.c.o.d -o libqemu-loongarch64-linux-user.fa.p/linux-user_syscall.c.o -c ../../../../mnt/code/qemu/full/linux-user/syscall.c ../../../../mnt/code/qemu/full/linux-user/syscall.c:317:32: error: unknown type name ‘uint’; did you mean ‘guint’? 317 | _syscall3(int, sys_getdents64, uint, fd, struct linux_dirent64 *, dirp, uint, count); | ^~~~ There are some other friends that fail in linux-user/syscall.c I will post an RFC with my findings. Later, Juan.