On 15/06/16 13:35, Laszlo Ersek wrote: > On 06/15/16 12:08, Mark Cave-Ayland wrote: >> 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. > > According to <https://packages.debian.org/wheezy/gcc>, your gcc is 4.7.2 > based (4:4.7.2-1). With a simple google search, I found the following > gcc bugs: > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45978 > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53198 > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273 > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56456 > > My guess is that Debian has not backported the upstream fix(es) for this > gcc bug. In particular, if you look at gcc bug #53198 referenced above, > it says: > > Known to fail: 4.6.0, 4.6.1, 4.6.2, 4.6.3, 4.7.2, 4.7.4 > > which includes the Wheezy version (4.7.2). Clicking the "Debian > Changelog" link on the above p.d.o page, I don't see anything that would > indicate that Debian backported the fix. > > (For reference, I run RHEL-7.2.z, with gcc version 4.8.5-4. According to > #56273 above, gcc-4.8.4 is also affected, but 4.8.5 is not (see the > Target Milestone field, and the Status field). I built > qemu-system-aarch64 from upstream 49237b856ae5 a few hours ago.) > > I suggest that you open a debian bug; I don't see a report for this > issue yet <https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=gcc-4.7>.
Hi Laszlo, Thank you looking into this. I know that some workarounds have been applied for similar bugs in Peter's setup, but in general should I assume that out-of-the-box Debian oldstable is now no longer supported to build QEMU? ATB, Mark.