qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
To: Laszlo Ersek <lersek@redhat.com>, Andrew Jones <drjones@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] git master build failure
Date: Fri, 17 Jun 2016 13:41:36 +0100	[thread overview]
Message-ID: <5763F000.3010102@ilande.co.uk> (raw)
In-Reply-To: <4c47c845-0934-4510-556f-edb48f1b78e2@redhat.com>

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	other threads:[~2016-06-17 12:42 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-15  7:14 [Qemu-devel] git master build failure Mark Cave-Ayland
2016-06-15  9:48 ` Andrew Jones
2016-06-15 10:08   ` Mark Cave-Ayland
2016-06-15 10:23     ` Andrew Jones
2016-06-15 11:26       ` Mark Cave-Ayland
2016-06-15 11:46         ` Mark Cave-Ayland
2016-06-15 12:35     ` Laszlo Ersek
2016-06-17 12:41       ` Mark Cave-Ayland [this message]
2016-06-17 12:55         ` Peter Maydell
2016-06-17 19:45           ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5763F000.3010102@ilande.co.uk \
    --to=mark.cave-ayland@ilande.co.uk \
    --cc=drjones@redhat.com \
    --cc=lersek@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).