On 15/06/16 10:48, Andrew Jones wrote: > On Wed, Jun 15, 2016 at 08:14:18AM +0100, Mark Cave-Ayland wrote: >> Hi Peter, >> >> Just to let you know that after pulling git master >> (49237b856ae58ee7955be0b959c504c51b014f20) I see the following build >> failure here: > > Just pulled and successfully compiled, > configure --target-list=aarch64-softmmu > > And, I'm not sure how it's possible to this warning below. See below > >> >> cc -I/home/build/src/qemu/git/qemu/tcg >> -I/home/build/src/qemu/git/qemu/tcg/i386 >> -I/home/build/src/qemu/git/qemu/linux-headers >> -I/home/build/src/qemu/git/qemu/linux-headers -I. >> -I/home/build/src/qemu/git/qemu -I/home/build/src/qemu/git/qemu/include >> -I/home/build/src/qemu/git/qemu/hw/arm -Ihw/arm -I/usr/include/pixman-1 >> -I/home/build/src/qemu/git/qemu/dtc/libfdt -Werror -m64 -D_GNU_SOURCE >> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes >> -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes >> -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs >> -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self >> -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition >> -Wtype-limits -fstack-protector-all -I/usr/include/p11-kit-1 >> -I/usr/include/libpng12 -I../linux-headers -I.. >> -I/home/build/src/qemu/git/qemu/target-arm -DNEED_CPU_H >> -I/home/build/src/qemu/git/qemu/include -MMD -MP -MT hw/arm/vexpress.o >> -MF hw/arm/vexpress.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread >> -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include >> -g -c -o hw/arm/vexpress.o /home/build/src/qemu/git/qemu/hw/arm/vexpress.c >> cc -I/home/build/src/qemu/git/qemu/tcg >> -I/home/build/src/qemu/git/qemu/tcg/i386 >> -I/home/build/src/qemu/git/qemu/linux-headers >> -I/home/build/src/qemu/git/qemu/linux-headers -I. >> -I/home/build/src/qemu/git/qemu -I/home/build/src/qemu/git/qemu/include >> -I/home/build/src/qemu/git/qemu/hw/arm -Ihw/arm -I/usr/include/pixman-1 >> -I/home/build/src/qemu/git/qemu/dtc/libfdt -Werror -m64 -D_GNU_SOURCE >> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes >> -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes >> -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs >> -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self >> -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition >> -Wtype-limits -fstack-protector-all -I/usr/include/p11-kit-1 >> -I/usr/include/libpng12 -I../linux-headers -I.. >> -I/home/build/src/qemu/git/qemu/target-arm -DNEED_CPU_H >> -I/home/build/src/qemu/git/qemu/include -MMD -MP -MT hw/arm/virt.o -MF >> hw/arm/virt.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread >> -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include >> -g -c -o hw/arm/virt.o /home/build/src/qemu/git/qemu/hw/arm/virt.c >> /home/build/src/qemu/git/qemu/hw/arm/virt.c: In function >> ‘virt_2_6_class_init’: >> /home/build/src/qemu/git/qemu/hw/arm/virt.c:1509:5: error: array >> subscript is above array bounds [-Werror=array-bounds] > > hw/arm/virt.c:1509 is SET_MACHINE_COMPAT(mc, VIRT_COMPAT_2_6), and > VIRT_COMPAT_2_6 is HW_COMPAT_2_6 (which is currently nothing). > > SET_MACHINE_COMPAT is > > #define SET_MACHINE_COMPAT(m, COMPAT) \ > do { \ > int i; \ > static GlobalProperty props[] = { \ > COMPAT \ > { /* end of list */ } \ > }; \ > if (!m->compat_props) { \ > m->compat_props = g_array_new(false, false, sizeof(void *)); > \ > } \ > for (i = 0; props[i].driver != NULL; i++) { \ > GlobalProperty *prop = &props[i]; \ > g_array_append_val(m->compat_props, prop); \ > } \ > } while (0) > > > so props[] is { {} }, which means props[0].driver == NULL. 0 should > be a valid subscript, and we shouldn't try any others. > > Are you using special config options or a special compiler? > > Thanks, > drew
Hi Andrew, Is that from a clean clone of the repository? I wonder if a change to a generated file isn't being picked up somewhere by "make distclean". My standard build script is this: make distclean './configure' '--target-list=x86_64-softmmu sparc64-softmmu sparc-softmmu ppc-softmmu arm-softmmu' '--disable-pie' System is standard Debian wheezy on amd64. ATB, Mark.