qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] git master build failure


From: Mark Cave-Ayland
Subject: Re: [Qemu-devel] git master build failure
Date: Fri, 17 Jun 2016 13:41:36 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.8.0

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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]