* [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version
2018-12-03 14:05 [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions Thomas Huth
@ 2018-12-03 14:05 ` Thomas Huth
2018-12-03 14:16 ` Daniel P. Berrangé
2018-12-05 17:30 ` Philippe Mathieu-Daudé
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 2/7] Remove support for compilers that can not do 128-bit arithmetics Thomas Huth
` (7 subsequent siblings)
8 siblings, 2 replies; 23+ messages in thread
From: Thomas Huth @ 2018-12-03 14:05 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Daniel P. Berrangé, pbonzini, peter.maydell
So far we only had implicit requirements for the minimum compiler version,
e.g. we require at least GCC 4.1 for the support of atomics. However,
such old compiler versions are not tested anymore by the developers, so
they are not really supported anymore. Since we recently declared explicitly
what platforms we intend to support, we can also get more explicit on the
compiler version now. The supported distributions use the following version
of GCC:
RHEL-7: 4.8.5
Debian (Stretch): 6.3.0
Debian (Jessie): 4.8.4
OpenBSD (ports): 4.9.4
FreeBSD (ports): 8.2.0
OpenSUSE Leap 15: 7.3.1
Ubuntu (Xenial): 5.3.1
macOS (Homebrew): 8.2.0
So we can safely assume GCC 4.8 these days. For Clang, the situation is
a little bit more ambiguous, since it is sometimes not available in the
main distros but rather third party repositories. At least Debian Jessie
uses version 3.5, and EPEL7 for RHEL7 uses 3.4, so let's use 3.4 as
minimum Clang version now - we still can adjust this later if necessary.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
configure | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/configure b/configure
index 0a3c6a7..f1e305e 100755
--- a/configure
+++ b/configure
@@ -1840,6 +1840,25 @@ if test "$bogus_os" = "yes"; then
error_exit "Unrecognized host OS (uname -s reports '$(uname -s)')"
fi
+# Check whether the compiler matches our minimum requirements:
+cat > $TMPC << EOF
+#if defined(__clang_major__) && defined(__clang_minor__)
+# if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4)
+# error You need at least Clang v3.4 to compile QEMU
+# endif
+#elif defined(__GNUC__) && defined(__GNUC_MINOR__)
+# if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8)
+# error You need at least GCC v4.8 to compile QEMU
+# endif
+#else
+# error You either need GCC or Clang to compiler QEMU
+#endif
+int main (void) { return 0; }
+EOF
+if ! compile_prog "" "" ; then
+ error_exit "You need at least GCC v4.8 or Clang v3.4 to compiler QEMU"
+fi
+
gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits"
gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_flags"
gcc_flags="-Wno-missing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
--
1.8.3.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version Thomas Huth
@ 2018-12-03 14:16 ` Daniel P. Berrangé
2018-12-03 14:18 ` Peter Maydell
2018-12-03 14:27 ` Thomas Huth
2018-12-05 17:30 ` Philippe Mathieu-Daudé
1 sibling, 2 replies; 23+ messages in thread
From: Daniel P. Berrangé @ 2018-12-03 14:16 UTC (permalink / raw)
To: Thomas Huth; +Cc: qemu-devel, Richard Henderson, pbonzini, peter.maydell
On Mon, Dec 03, 2018 at 03:05:31PM +0100, Thomas Huth wrote:
> So far we only had implicit requirements for the minimum compiler version,
> e.g. we require at least GCC 4.1 for the support of atomics. However,
> such old compiler versions are not tested anymore by the developers, so
> they are not really supported anymore. Since we recently declared explicitly
> what platforms we intend to support, we can also get more explicit on the
> compiler version now. The supported distributions use the following version
> of GCC:
>
> RHEL-7: 4.8.5
> Debian (Stretch): 6.3.0
> Debian (Jessie): 4.8.4
> OpenBSD (ports): 4.9.4
> FreeBSD (ports): 8.2.0
> OpenSUSE Leap 15: 7.3.1
> Ubuntu (Xenial): 5.3.1
> macOS (Homebrew): 8.2.0
>
> So we can safely assume GCC 4.8 these days. For Clang, the situation is
> a little bit more ambiguous, since it is sometimes not available in the
> main distros but rather third party repositories. At least Debian Jessie
> uses version 3.5, and EPEL7 for RHEL7 uses 3.4, so let's use 3.4 as
> minimum Clang version now - we still can adjust this later if necessary.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> configure | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/configure b/configure
> index 0a3c6a7..f1e305e 100755
> --- a/configure
> +++ b/configure
> @@ -1840,6 +1840,25 @@ if test "$bogus_os" = "yes"; then
> error_exit "Unrecognized host OS (uname -s reports '$(uname -s)')"
> fi
>
> +# Check whether the compiler matches our minimum requirements:
> +cat > $TMPC << EOF
> +#if defined(__clang_major__) && defined(__clang_minor__)
> +# if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4)
> +# error You need at least Clang v3.4 to compile QEMU
> +# endif
NB although this will succeed, it is not technically checking the
right thing on macOS platforms as their clang used a completely
different numbering scheme. It just happens to have larger numbers
than upstream clang, so we'll always succeed.
Compare clang on Ubuntu:
https://travis-ci.org/qemu/qemu/jobs/460892603
$ clang --version
clang version 5.0.0 (tags/RELEASE_500/final)
with clang on macOS:
https://travis-ci.org/qemu/qemu/jobs/460892611
$ clang --version
Apple LLVM version 9.1.0 (clang-902.0.39.2)
Fortunately there's a mapping recorded here:
https://en.wikipedia.org/wiki/Xcode#Latest_versions
See "LLVM" and "CLang version string" columns.
IOW, to require clang >= 3.4 on macOS, we would need to require
their version >= 5.1
> +#elif defined(__GNUC__) && defined(__GNUC_MINOR__)
> +# if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8)
> +# error You need at least GCC v4.8 to compile QEMU
> +# endif
> +#else
> +# error You either need GCC or Clang to compiler QEMU
> +#endif
> +int main (void) { return 0; }
> +EOF
> +if ! compile_prog "" "" ; then
> + error_exit "You need at least GCC v4.8 or Clang v3.4 to compiler QEMU"
> +fi
> +
> gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits"
> gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_flags"
> gcc_flags="-Wno-missing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
> --
> 1.8.3.1
>
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version
2018-12-03 14:16 ` Daniel P. Berrangé
@ 2018-12-03 14:18 ` Peter Maydell
2018-12-03 14:27 ` Thomas Huth
1 sibling, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2018-12-03 14:18 UTC (permalink / raw)
To: Daniel P. Berrange
Cc: Thomas Huth, QEMU Developers, Richard Henderson, Paolo Bonzini
On Mon, 3 Dec 2018 at 14:16, Daniel P. Berrangé <berrange@redhat.com> wrote:
> NB although this will succeed, it is not technically checking the
> right thing on macOS platforms as their clang used a completely
> different numbering scheme. It just happens to have larger numbers
> than upstream clang, so we'll always succeed.
>
> Compare clang on Ubuntu:
>
> https://travis-ci.org/qemu/qemu/jobs/460892603
>
> $ clang --version
> clang version 5.0.0 (tags/RELEASE_500/final)
>
> with clang on macOS:
>
> https://travis-ci.org/qemu/qemu/jobs/460892611
>
> $ clang --version
> Apple LLVM version 9.1.0 (clang-902.0.39.2)
>
> Fortunately there's a mapping recorded here:
>
> https://en.wikipedia.org/wiki/Xcode#Latest_versions
>
> See "LLVM" and "CLang version string" columns.
...but overall it is better to check for feature presence/absence
where possible rather than using a version number check.
clang does at least make this easier than it has historically
been for gcc.
thanks
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version
2018-12-03 14:16 ` Daniel P. Berrangé
2018-12-03 14:18 ` Peter Maydell
@ 2018-12-03 14:27 ` Thomas Huth
2018-12-03 15:33 ` Daniel P. Berrangé
1 sibling, 1 reply; 23+ messages in thread
From: Thomas Huth @ 2018-12-03 14:27 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: qemu-devel, Richard Henderson, pbonzini, peter.maydell
On 2018-12-03 15:16, Daniel P. Berrangé wrote:
> On Mon, Dec 03, 2018 at 03:05:31PM +0100, Thomas Huth wrote:
>> So far we only had implicit requirements for the minimum compiler version,
>> e.g. we require at least GCC 4.1 for the support of atomics. However,
>> such old compiler versions are not tested anymore by the developers, so
>> they are not really supported anymore. Since we recently declared explicitly
>> what platforms we intend to support, we can also get more explicit on the
>> compiler version now. The supported distributions use the following version
>> of GCC:
>>
>> RHEL-7: 4.8.5
>> Debian (Stretch): 6.3.0
>> Debian (Jessie): 4.8.4
>> OpenBSD (ports): 4.9.4
>> FreeBSD (ports): 8.2.0
>> OpenSUSE Leap 15: 7.3.1
>> Ubuntu (Xenial): 5.3.1
>> macOS (Homebrew): 8.2.0
>>
>> So we can safely assume GCC 4.8 these days. For Clang, the situation is
>> a little bit more ambiguous, since it is sometimes not available in the
>> main distros but rather third party repositories. At least Debian Jessie
>> uses version 3.5, and EPEL7 for RHEL7 uses 3.4, so let's use 3.4 as
>> minimum Clang version now - we still can adjust this later if necessary.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> configure | 19 +++++++++++++++++++
>> 1 file changed, 19 insertions(+)
>>
>> diff --git a/configure b/configure
>> index 0a3c6a7..f1e305e 100755
>> --- a/configure
>> +++ b/configure
>> @@ -1840,6 +1840,25 @@ if test "$bogus_os" = "yes"; then
>> error_exit "Unrecognized host OS (uname -s reports '$(uname -s)')"
>> fi
>>
>> +# Check whether the compiler matches our minimum requirements:
>> +cat > $TMPC << EOF
>> +#if defined(__clang_major__) && defined(__clang_minor__)
>> +# if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4)
>> +# error You need at least Clang v3.4 to compile QEMU
>> +# endif
>
> NB although this will succeed, it is not technically checking the
> right thing on macOS platforms as their clang used a completely
> different numbering scheme. It just happens to have larger numbers
> than upstream clang, so we'll always succeed.
Does that only apply to the version string that is reported by "clang
--version" or does it also apply to the __clang_major/minor__ macros?
In the latter case, I think I could add a comment to the patch here.
I'm also not sure whether the LLVM version necessarily matches the Clang
version? In older versions, you can also see "4.2 (clang-425.0.28)
(based on LLVM 3.2svn)" in the tables there...
> IOW, to require clang >= 3.4 on macOS, we would need to require
> their version >= 5.1
If they also messed up the macros, I think we likely have a problem the
other way round: What upstream Clang version corresponds to the Apple
Clang version 3.4 ? ... but if I interpret the old table right, they
just started the confusion with 5.0, so I think the check above should
still be fine.
Thomas
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version
2018-12-03 14:27 ` Thomas Huth
@ 2018-12-03 15:33 ` Daniel P. Berrangé
0 siblings, 0 replies; 23+ messages in thread
From: Daniel P. Berrangé @ 2018-12-03 15:33 UTC (permalink / raw)
To: Thomas Huth; +Cc: qemu-devel, Richard Henderson, pbonzini, peter.maydell
On Mon, Dec 03, 2018 at 03:27:35PM +0100, Thomas Huth wrote:
> On 2018-12-03 15:16, Daniel P. Berrangé wrote:
> > On Mon, Dec 03, 2018 at 03:05:31PM +0100, Thomas Huth wrote:
> >> So far we only had implicit requirements for the minimum compiler version,
> >> e.g. we require at least GCC 4.1 for the support of atomics. However,
> >> such old compiler versions are not tested anymore by the developers, so
> >> they are not really supported anymore. Since we recently declared explicitly
> >> what platforms we intend to support, we can also get more explicit on the
> >> compiler version now. The supported distributions use the following version
> >> of GCC:
> >>
> >> RHEL-7: 4.8.5
> >> Debian (Stretch): 6.3.0
> >> Debian (Jessie): 4.8.4
> >> OpenBSD (ports): 4.9.4
> >> FreeBSD (ports): 8.2.0
> >> OpenSUSE Leap 15: 7.3.1
> >> Ubuntu (Xenial): 5.3.1
> >> macOS (Homebrew): 8.2.0
> >>
> >> So we can safely assume GCC 4.8 these days. For Clang, the situation is
> >> a little bit more ambiguous, since it is sometimes not available in the
> >> main distros but rather third party repositories. At least Debian Jessie
> >> uses version 3.5, and EPEL7 for RHEL7 uses 3.4, so let's use 3.4 as
> >> minimum Clang version now - we still can adjust this later if necessary.
> >>
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> ---
> >> configure | 19 +++++++++++++++++++
> >> 1 file changed, 19 insertions(+)
> >>
> >> diff --git a/configure b/configure
> >> index 0a3c6a7..f1e305e 100755
> >> --- a/configure
> >> +++ b/configure
> >> @@ -1840,6 +1840,25 @@ if test "$bogus_os" = "yes"; then
> >> error_exit "Unrecognized host OS (uname -s reports '$(uname -s)')"
> >> fi
> >>
> >> +# Check whether the compiler matches our minimum requirements:
> >> +cat > $TMPC << EOF
> >> +#if defined(__clang_major__) && defined(__clang_minor__)
> >> +# if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4)
> >> +# error You need at least Clang v3.4 to compile QEMU
> >> +# endif
> >
> > NB although this will succeed, it is not technically checking the
> > right thing on macOS platforms as their clang used a completely
> > different numbering scheme. It just happens to have larger numbers
> > than upstream clang, so we'll always succeed.
>
> Does that only apply to the version string that is reported by "clang
> --version" or does it also apply to the __clang_major/minor__ macros?
>
> In the latter case, I think I could add a comment to the patch here.
>
> I'm also not sure whether the LLVM version necessarily matches the Clang
> version? In older versions, you can also see "4.2 (clang-425.0.28)
> (based on LLVM 3.2svn)" in the tables there...
The first number in the clang version string is what we're interested
in, and that matches the XCode version number, and is what's reflected
in the __clang_major/minor__ macros. The the LLVM version in the table
reflects what upstream release they forked the XCode version from.
> > IOW, to require clang >= 3.4 on macOS, we would need to require
> > their version >= 5.1
>
> If they also messed up the macros, I think we likely have a problem the
> other way round: What upstream Clang version corresponds to the Apple
> Clang version 3.4 ? ... but if I interpret the old table right, they
> just started the confusion with 5.0, so I think the check above should
> still be fine.
I think you're mis-reading it. There is no Apple Clang version 3.4 - at
least not in this table.
The earliest version Apple Clang version is 5.0 (in XCode 5.0.0), and
that corresponds to upstream CLang version 3.3
Effectively what this means is that we need a separate check for Apple's
version of CLang. We can't simply use __apple__ as that would fire if
someone had built upstream clang on macOS. Instead we need to toggle
on __apple_build_version__ which is specific to Apple's fork
#if defined(__clang_major__) && defined(__clang_minor__)
# ifdef __apple_build_version__
# if __clang_major__ < 5 || (__clang_major__ == 5 && __clang_minor__ < 1)
# error You need at least XCode CLang v5.1 to compile QEMU
# endif
# else
# if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4)
# error You need at least Clang v3.4 to compile QEMU
# endif
# endif
....gcc....
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version Thomas Huth
2018-12-03 14:16 ` Daniel P. Berrangé
@ 2018-12-05 17:30 ` Philippe Mathieu-Daudé
2018-12-06 5:34 ` Thomas Huth
1 sibling, 1 reply; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-12-05 17:30 UTC (permalink / raw)
To: Thomas Huth, qemu-devel; +Cc: peter.maydell, pbonzini, Richard Henderson
On 12/3/18 3:05 PM, Thomas Huth wrote:
> So far we only had implicit requirements for the minimum compiler version,
> e.g. we require at least GCC 4.1 for the support of atomics. However,
> such old compiler versions are not tested anymore by the developers, so
> they are not really supported anymore. Since we recently declared explicitly
> what platforms we intend to support, we can also get more explicit on the
> compiler version now. The supported distributions use the following version
> of GCC:
>
> RHEL-7: 4.8.5
> Debian (Stretch): 6.3.0
> Debian (Jessie): 4.8.4
> OpenBSD (ports): 4.9.4
> FreeBSD (ports): 8.2.0
> OpenSUSE Leap 15: 7.3.1
> Ubuntu (Xenial): 5.3.1
> macOS (Homebrew): 8.2.0
I'd like to track this in a machine parsable format, but sure where it
better fits however, I'd prefer the git repo, and having the wiki
pointing to the git repo.
[...]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version
2018-12-05 17:30 ` Philippe Mathieu-Daudé
@ 2018-12-06 5:34 ` Thomas Huth
2018-12-06 9:53 ` Daniel P. Berrangé
0 siblings, 1 reply; 23+ messages in thread
From: Thomas Huth @ 2018-12-06 5:34 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: peter.maydell, pbonzini, Richard Henderson, Daniel P. Berrangé
On 2018-12-05 18:30, Philippe Mathieu-Daudé wrote:
> On 12/3/18 3:05 PM, Thomas Huth wrote:
>> So far we only had implicit requirements for the minimum compiler version,
>> e.g. we require at least GCC 4.1 for the support of atomics. However,
>> such old compiler versions are not tested anymore by the developers, so
>> they are not really supported anymore. Since we recently declared explicitly
>> what platforms we intend to support, we can also get more explicit on the
>> compiler version now. The supported distributions use the following version
>> of GCC:
>>
>> RHEL-7: 4.8.5
>> Debian (Stretch): 6.3.0
>> Debian (Jessie): 4.8.4
>> OpenBSD (ports): 4.9.4
>> FreeBSD (ports): 8.2.0
>> OpenSUSE Leap 15: 7.3.1
>> Ubuntu (Xenial): 5.3.1
>> macOS (Homebrew): 8.2.0
>
> I'd like to track this in a machine parsable format, but sure where it
> better fits however, I'd prefer the git repo, and having the wiki
> pointing to the git repo.
I don't think that it makes sense to put fixed version numbers into the
git or wiki - the information will expire soon, and it is additional
maintenance to keep them up to date. We already got the generic
description here:
https://qemu.weilnetz.de/doc/qemu-doc.html#Supported-build-platforms
So you just have to follow these instructions to get to the supported
versions.
Thomas
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version
2018-12-06 5:34 ` Thomas Huth
@ 2018-12-06 9:53 ` Daniel P. Berrangé
0 siblings, 0 replies; 23+ messages in thread
From: Daniel P. Berrangé @ 2018-12-06 9:53 UTC (permalink / raw)
To: Thomas Huth
Cc: Philippe Mathieu-Daudé,
qemu-devel, peter.maydell, pbonzini, Richard Henderson
On Thu, Dec 06, 2018 at 06:34:25AM +0100, Thomas Huth wrote:
> On 2018-12-05 18:30, Philippe Mathieu-Daudé wrote:
> > On 12/3/18 3:05 PM, Thomas Huth wrote:
> >> So far we only had implicit requirements for the minimum compiler version,
> >> e.g. we require at least GCC 4.1 for the support of atomics. However,
> >> such old compiler versions are not tested anymore by the developers, so
> >> they are not really supported anymore. Since we recently declared explicitly
> >> what platforms we intend to support, we can also get more explicit on the
> >> compiler version now. The supported distributions use the following version
> >> of GCC:
> >>
> >> RHEL-7: 4.8.5
> >> Debian (Stretch): 6.3.0
> >> Debian (Jessie): 4.8.4
> >> OpenBSD (ports): 4.9.4
> >> FreeBSD (ports): 8.2.0
> >> OpenSUSE Leap 15: 7.3.1
> >> Ubuntu (Xenial): 5.3.1
> >> macOS (Homebrew): 8.2.0
> >
> > I'd like to track this in a machine parsable format, but sure where it
> > better fits however, I'd prefer the git repo, and having the wiki
> > pointing to the git repo.
>
> I don't think that it makes sense to put fixed version numbers into the
> git or wiki - the information will expire soon, and it is additional
> maintenance to keep them up to date. We already got the generic
> description here:
>
> https://qemu.weilnetz.de/doc/qemu-doc.html#Supported-build-platforms
>
> So you just have to follow these instructions to get to the supported
> versions.
Agreed, I don't really see a benefit in tracking the per-distro versions
in QEMU - they're only useful for informing us abuot what min version
to pick, which then goes into configure.
If we absolutely wanted to, we could use a standard variable name in
configure to make it easy to grep for min versions.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PATCH for-4.0 2/7] Remove support for compilers that can not do 128-bit arithmetics
2018-12-03 14:05 [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions Thomas Huth
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version Thomas Huth
@ 2018-12-03 14:05 ` Thomas Huth
2018-12-03 14:11 ` Richard Henderson
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 3/7] configure: Remove old -fno-gcse workaround for GCC 4.6.x and 4.7.[012] Thomas Huth
` (6 subsequent siblings)
8 siblings, 1 reply; 23+ messages in thread
From: Thomas Huth @ 2018-12-03 14:05 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Daniel P. Berrangé, pbonzini, peter.maydell
Now that we require at least GCC v4.8 and Clang v3.4, we can be sure
that we always have a compiler that has support for 128-bit arithmetics.
Thus we can remove the !CONFIG_INT128 code now.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
Note: We could even remove int128.h and the helper functions now ...
but that's also topic for a separate patch, I think.
configure | 37 ++---------
include/qemu/host-utils.h | 30 ---------
include/qemu/int128.h | 160 ----------------------------------------------
target/ppc/cpu.h | 2 -
target/ppc/int_helper.c | 159 ---------------------------------------------
target/s390x/int_helper.c | 7 --
util/host-utils.c | 135 --------------------------------------
7 files changed, 4 insertions(+), 526 deletions(-)
diff --git a/configure b/configure
index f1e305e..14e9722 100755
--- a/configure
+++ b/configure
@@ -5137,35 +5137,11 @@ EOF
fi
fi
-########################################
-# check if __[u]int128_t is usable.
-
-int128=no
-cat > $TMPC << EOF
-#if defined(__clang_major__) && defined(__clang_minor__)
-# if ((__clang_major__ < 3) || (__clang_major__ == 3) && (__clang_minor__ < 2))
-# error __int128_t does not work in CLANG before 3.2
-# endif
-#endif
-__int128_t a;
-__uint128_t b;
-int main (void) {
- a = a + b;
- b = a * b;
- a = a * a;
- return 0;
-}
-EOF
-if compile_prog "" "" ; then
- int128=yes
-fi
-
#########################################
# See if 128-bit atomic operations are supported.
atomic128=no
-if test "$int128" = "yes"; then
- cat > $TMPC << EOF
+cat > $TMPC << EOF
int main(void)
{
unsigned __int128 x = 0, y = 0;
@@ -5175,13 +5151,12 @@ int main(void)
return 0;
}
EOF
- if compile_prog "" "" ; then
- atomic128=yes
- fi
+if compile_prog "" "" ; then
+ atomic128=yes
fi
cmpxchg128=no
-if test "$int128" = yes -a "$atomic128" = no; then
+if test "$atomic128" = no; then
cat > $TMPC << EOF
int main(void)
{
@@ -6708,10 +6683,6 @@ if test "$cpuid_h" = "yes" ; then
echo "CONFIG_CPUID_H=y" >> $config_host_mak
fi
-if test "$int128" = "yes" ; then
- echo "CONFIG_INT128=y" >> $config_host_mak
-fi
-
if test "$atomic128" = "yes" ; then
echo "CONFIG_ATOMIC128=y" >> $config_host_mak
fi
diff --git a/include/qemu/host-utils.h b/include/qemu/host-utils.h
index 38da849..25ba3e8 100644
--- a/include/qemu/host-utils.h
+++ b/include/qemu/host-utils.h
@@ -28,7 +28,6 @@
#include "qemu/bswap.h"
-#ifdef CONFIG_INT128
static inline void mulu64(uint64_t *plow, uint64_t *phigh,
uint64_t a, uint64_t b)
{
@@ -76,35 +75,6 @@ static inline int divs128(int64_t *plow, int64_t *phigh, int64_t divisor)
return result != *plow;
}
}
-#else
-void muls64(uint64_t *phigh, uint64_t *plow, int64_t a, int64_t b);
-void mulu64(uint64_t *phigh, uint64_t *plow, uint64_t a, uint64_t b);
-int divu128(uint64_t *plow, uint64_t *phigh, uint64_t divisor);
-int divs128(int64_t *plow, int64_t *phigh, int64_t divisor);
-
-static inline uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c)
-{
- union {
- uint64_t ll;
- struct {
-#ifdef HOST_WORDS_BIGENDIAN
- uint32_t high, low;
-#else
- uint32_t low, high;
-#endif
- } l;
- } u, res;
- uint64_t rl, rh;
-
- u.ll = a;
- rl = (uint64_t)u.l.low * (uint64_t)b;
- rh = (uint64_t)u.l.high * (uint64_t)b;
- rh += (rl >> 32);
- res.l.high = rh / c;
- res.l.low = (((rh % c) << 32) + (rl & 0xffffffff)) / c;
- return res.ll;
-}
-#endif
/**
* clz32 - count leading zeros in a 32-bit value.
diff --git a/include/qemu/int128.h b/include/qemu/int128.h
index 5c9890d..8eac3f8 100644
--- a/include/qemu/int128.h
+++ b/include/qemu/int128.h
@@ -1,7 +1,6 @@
#ifndef INT128_H
#define INT128_H
-#ifdef CONFIG_INT128
#include "qemu/bswap.h"
typedef __int128_t Int128;
@@ -143,163 +142,4 @@ static inline Int128 bswap128(Int128 a)
return int128_make128(bswap64(int128_gethi(a)), bswap64(int128_getlo(a)));
}
-#else /* !CONFIG_INT128 */
-
-typedef struct Int128 Int128;
-
-struct Int128 {
- uint64_t lo;
- int64_t hi;
-};
-
-static inline Int128 int128_make64(uint64_t a)
-{
- return (Int128) { a, 0 };
-}
-
-static inline Int128 int128_make128(uint64_t lo, uint64_t hi)
-{
- return (Int128) { lo, hi };
-}
-
-static inline uint64_t int128_get64(Int128 a)
-{
- assert(!a.hi);
- return a.lo;
-}
-
-static inline uint64_t int128_getlo(Int128 a)
-{
- return a.lo;
-}
-
-static inline int64_t int128_gethi(Int128 a)
-{
- return a.hi;
-}
-
-static inline Int128 int128_zero(void)
-{
- return int128_make64(0);
-}
-
-static inline Int128 int128_one(void)
-{
- return int128_make64(1);
-}
-
-static inline Int128 int128_2_64(void)
-{
- return (Int128) { 0, 1 };
-}
-
-static inline Int128 int128_exts64(int64_t a)
-{
- return (Int128) { .lo = a, .hi = (a < 0) ? -1 : 0 };
-}
-
-static inline Int128 int128_and(Int128 a, Int128 b)
-{
- return (Int128) { a.lo & b.lo, a.hi & b.hi };
-}
-
-static inline Int128 int128_rshift(Int128 a, int n)
-{
- int64_t h;
- if (!n) {
- return a;
- }
- h = a.hi >> (n & 63);
- if (n >= 64) {
- return int128_make128(h, h >> 63);
- } else {
- return int128_make128((a.lo >> n) | ((uint64_t)a.hi << (64 - n)), h);
- }
-}
-
-static inline Int128 int128_add(Int128 a, Int128 b)
-{
- uint64_t lo = a.lo + b.lo;
-
- /* a.lo <= a.lo + b.lo < a.lo + k (k is the base, 2^64). Hence,
- * a.lo + b.lo >= k implies 0 <= lo = a.lo + b.lo - k < a.lo.
- * Similarly, a.lo + b.lo < k implies a.lo <= lo = a.lo + b.lo < k.
- *
- * So the carry is lo < a.lo.
- */
- return int128_make128(lo, (uint64_t)a.hi + b.hi + (lo < a.lo));
-}
-
-static inline Int128 int128_neg(Int128 a)
-{
- uint64_t lo = -a.lo;
- return int128_make128(lo, ~(uint64_t)a.hi + !lo);
-}
-
-static inline Int128 int128_sub(Int128 a, Int128 b)
-{
- return int128_make128(a.lo - b.lo, (uint64_t)a.hi - b.hi - (a.lo < b.lo));
-}
-
-static inline bool int128_nonneg(Int128 a)
-{
- return a.hi >= 0;
-}
-
-static inline bool int128_eq(Int128 a, Int128 b)
-{
- return a.lo == b.lo && a.hi == b.hi;
-}
-
-static inline bool int128_ne(Int128 a, Int128 b)
-{
- return !int128_eq(a, b);
-}
-
-static inline bool int128_ge(Int128 a, Int128 b)
-{
- return a.hi > b.hi || (a.hi == b.hi && a.lo >= b.lo);
-}
-
-static inline bool int128_lt(Int128 a, Int128 b)
-{
- return !int128_ge(a, b);
-}
-
-static inline bool int128_le(Int128 a, Int128 b)
-{
- return int128_ge(b, a);
-}
-
-static inline bool int128_gt(Int128 a, Int128 b)
-{
- return !int128_le(a, b);
-}
-
-static inline bool int128_nz(Int128 a)
-{
- return a.lo || a.hi;
-}
-
-static inline Int128 int128_min(Int128 a, Int128 b)
-{
- return int128_le(a, b) ? a : b;
-}
-
-static inline Int128 int128_max(Int128 a, Int128 b)
-{
- return int128_ge(a, b) ? a : b;
-}
-
-static inline void int128_addto(Int128 *a, Int128 b)
-{
- *a = int128_add(*a, b);
-}
-
-static inline void int128_subfrom(Int128 *a, Int128 b)
-{
- *a = int128_sub(*a, b);
-}
-
-#endif /* CONFIG_INT128 */
#endif /* INT128_H */
diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h
index ab68abe..858f121 100644
--- a/target/ppc/cpu.h
+++ b/target/ppc/cpu.h
@@ -265,9 +265,7 @@ union ppc_avr_t {
int32_t s32[4];
uint64_t u64[2];
int64_t s64[2];
-#ifdef CONFIG_INT128
__uint128_t u128;
-#endif
Int128 s128;
};
diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c
index fcac90a..00c65bd 100644
--- a/target/ppc/int_helper.c
+++ b/target/ppc/int_helper.c
@@ -1550,8 +1550,6 @@ PMSUM(vpmsumw, u32, u64, uint64_t)
void helper_vpmsumd(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)
{
-
-#ifdef CONFIG_INT128
int i, j;
__uint128_t prod[2];
@@ -1565,32 +1563,6 @@ void helper_vpmsumd(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)
}
r->u128 = prod[0] ^ prod[1];
-
-#else
- int i, j;
- ppc_avr_t prod[2];
-
- VECTOR_FOR_INORDER_I(i, u64) {
- prod[i].u64[LO_IDX] = prod[i].u64[HI_IDX] = 0;
- for (j = 0; j < 64; j++) {
- if (a->u64[i] & (1ull<<j)) {
- ppc_avr_t bshift;
- if (j == 0) {
- bshift.u64[HI_IDX] = 0;
- bshift.u64[LO_IDX] = b->u64[i];
- } else {
- bshift.u64[HI_IDX] = b->u64[i] >> (64-j);
- bshift.u64[LO_IDX] = b->u64[i] << j;
- }
- prod[i].u64[LO_IDX] ^= bshift.u64[LO_IDX];
- prod[i].u64[HI_IDX] ^= bshift.u64[HI_IDX];
- }
- }
- }
-
- r->u64[LO_IDX] = prod[0].u64[LO_IDX] ^ prod[1].u64[LO_IDX];
- r->u64[HI_IDX] = prod[0].u64[HI_IDX] ^ prod[1].u64[HI_IDX];
-#endif
}
@@ -2354,183 +2326,52 @@ VGENERIC_DO(popcntd, u64)
#define QW_ONE { .u64 = { 1, 0 } }
#endif
-#ifndef CONFIG_INT128
-
-static inline void avr_qw_not(ppc_avr_t *t, ppc_avr_t a)
-{
- t->u64[0] = ~a.u64[0];
- t->u64[1] = ~a.u64[1];
-}
-
-static int avr_qw_cmpu(ppc_avr_t a, ppc_avr_t b)
-{
- if (a.u64[HI_IDX] < b.u64[HI_IDX]) {
- return -1;
- } else if (a.u64[HI_IDX] > b.u64[HI_IDX]) {
- return 1;
- } else if (a.u64[LO_IDX] < b.u64[LO_IDX]) {
- return -1;
- } else if (a.u64[LO_IDX] > b.u64[LO_IDX]) {
- return 1;
- } else {
- return 0;
- }
-}
-
-static void avr_qw_add(ppc_avr_t *t, ppc_avr_t a, ppc_avr_t b)
-{
- t->u64[LO_IDX] = a.u64[LO_IDX] + b.u64[LO_IDX];
- t->u64[HI_IDX] = a.u64[HI_IDX] + b.u64[HI_IDX] +
- (~a.u64[LO_IDX] < b.u64[LO_IDX]);
-}
-
-static int avr_qw_addc(ppc_avr_t *t, ppc_avr_t a, ppc_avr_t b)
-{
- ppc_avr_t not_a;
- t->u64[LO_IDX] = a.u64[LO_IDX] + b.u64[LO_IDX];
- t->u64[HI_IDX] = a.u64[HI_IDX] + b.u64[HI_IDX] +
- (~a.u64[LO_IDX] < b.u64[LO_IDX]);
- avr_qw_not(¬_a, a);
- return avr_qw_cmpu(not_a, b) < 0;
-}
-
-#endif
-
void helper_vadduqm(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)
{
-#ifdef CONFIG_INT128
r->u128 = a->u128 + b->u128;
-#else
- avr_qw_add(r, *a, *b);
-#endif
}
void helper_vaddeuqm(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c)
{
-#ifdef CONFIG_INT128
r->u128 = a->u128 + b->u128 + (c->u128 & 1);
-#else
-
- if (c->u64[LO_IDX] & 1) {
- ppc_avr_t tmp;
-
- tmp.u64[HI_IDX] = 0;
- tmp.u64[LO_IDX] = c->u64[LO_IDX] & 1;
- avr_qw_add(&tmp, *a, tmp);
- avr_qw_add(r, tmp, *b);
- } else {
- avr_qw_add(r, *a, *b);
- }
-#endif
}
void helper_vaddcuq(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)
{
-#ifdef CONFIG_INT128
r->u128 = (~a->u128 < b->u128);
-#else
- ppc_avr_t not_a;
-
- avr_qw_not(¬_a, *a);
-
- r->u64[HI_IDX] = 0;
- r->u64[LO_IDX] = (avr_qw_cmpu(not_a, *b) < 0);
-#endif
}
void helper_vaddecuq(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c)
{
-#ifdef CONFIG_INT128
int carry_out = (~a->u128 < b->u128);
if (!carry_out && (c->u128 & 1)) {
carry_out = ((a->u128 + b->u128 + 1) == 0) &&
((a->u128 != 0) || (b->u128 != 0));
}
r->u128 = carry_out;
-#else
-
- int carry_in = c->u64[LO_IDX] & 1;
- int carry_out = 0;
- ppc_avr_t tmp;
-
- carry_out = avr_qw_addc(&tmp, *a, *b);
-
- if (!carry_out && carry_in) {
- ppc_avr_t one = QW_ONE;
- carry_out = avr_qw_addc(&tmp, tmp, one);
- }
- r->u64[HI_IDX] = 0;
- r->u64[LO_IDX] = carry_out;
-#endif
}
void helper_vsubuqm(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)
{
-#ifdef CONFIG_INT128
r->u128 = a->u128 - b->u128;
-#else
- ppc_avr_t tmp;
- ppc_avr_t one = QW_ONE;
-
- avr_qw_not(&tmp, *b);
- avr_qw_add(&tmp, *a, tmp);
- avr_qw_add(r, tmp, one);
-#endif
}
void helper_vsubeuqm(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c)
{
-#ifdef CONFIG_INT128
r->u128 = a->u128 + ~b->u128 + (c->u128 & 1);
-#else
- ppc_avr_t tmp, sum;
-
- avr_qw_not(&tmp, *b);
- avr_qw_add(&sum, *a, tmp);
-
- tmp.u64[HI_IDX] = 0;
- tmp.u64[LO_IDX] = c->u64[LO_IDX] & 1;
- avr_qw_add(r, sum, tmp);
-#endif
}
void helper_vsubcuq(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)
{
-#ifdef CONFIG_INT128
r->u128 = (~a->u128 < ~b->u128) ||
(a->u128 + ~b->u128 == (__uint128_t)-1);
-#else
- int carry = (avr_qw_cmpu(*a, *b) > 0);
- if (!carry) {
- ppc_avr_t tmp;
- avr_qw_not(&tmp, *b);
- avr_qw_add(&tmp, *a, tmp);
- carry = ((tmp.s64[HI_IDX] == -1ull) && (tmp.s64[LO_IDX] == -1ull));
- }
- r->u64[HI_IDX] = 0;
- r->u64[LO_IDX] = carry;
-#endif
}
void helper_vsubecuq(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c)
{
-#ifdef CONFIG_INT128
r->u128 =
(~a->u128 < ~b->u128) ||
((c->u128 & 1) && (a->u128 + ~b->u128 == (__uint128_t)-1));
-#else
- int carry_in = c->u64[LO_IDX] & 1;
- int carry_out = (avr_qw_cmpu(*a, *b) > 0);
- if (!carry_out && carry_in) {
- ppc_avr_t tmp;
- avr_qw_not(&tmp, *b);
- avr_qw_add(&tmp, *a, tmp);
- carry_out = ((tmp.u64[HI_IDX] == -1ull) && (tmp.u64[LO_IDX] == -1ull));
- }
-
- r->u64[HI_IDX] = 0;
- r->u64[LO_IDX] = carry_out;
-#endif
}
#define BCD_PLUS_PREF_1 0xC
diff --git a/target/s390x/int_helper.c b/target/s390x/int_helper.c
index abf77a9..c8cfb93 100644
--- a/target/s390x/int_helper.c
+++ b/target/s390x/int_helper.c
@@ -100,7 +100,6 @@ uint64_t HELPER(divu64)(CPUS390XState *env, uint64_t ah, uint64_t al,
ret = al / b;
} else {
/* ??? Move i386 idivq helper to host-utils. */
-#ifdef CONFIG_INT128
__uint128_t a = ((__uint128_t)ah << 64) | al;
__uint128_t q = a / b;
env->retxl = a % b;
@@ -108,12 +107,6 @@ uint64_t HELPER(divu64)(CPUS390XState *env, uint64_t ah, uint64_t al,
if (ret != q) {
s390_program_interrupt(env, PGM_FIXPT_DIVIDE, ILEN_AUTO, GETPC());
}
-#else
- S390CPU *cpu = s390_env_get_cpu(env);
- /* 32-bit hosts would need special wrapper functionality - just abort if
- we encounter such a case; it's very unlikely anyways. */
- cpu_abort(CPU(cpu), "128 -> 64/64 division not implemented\n");
-#endif
}
return ret;
}
diff --git a/util/host-utils.c b/util/host-utils.c
index 7b93220..18fa1d0 100644
--- a/util/host-utils.c
+++ b/util/host-utils.c
@@ -26,141 +26,6 @@
#include "qemu/osdep.h"
#include "qemu/host-utils.h"
-#ifndef CONFIG_INT128
-/* Long integer helpers */
-static inline void mul64(uint64_t *plow, uint64_t *phigh,
- uint64_t a, uint64_t b)
-{
- typedef union {
- uint64_t ll;
- struct {
-#ifdef HOST_WORDS_BIGENDIAN
- uint32_t high, low;
-#else
- uint32_t low, high;
-#endif
- } l;
- } LL;
- LL rl, rm, rn, rh, a0, b0;
- uint64_t c;
-
- a0.ll = a;
- b0.ll = b;
-
- rl.ll = (uint64_t)a0.l.low * b0.l.low;
- rm.ll = (uint64_t)a0.l.low * b0.l.high;
- rn.ll = (uint64_t)a0.l.high * b0.l.low;
- rh.ll = (uint64_t)a0.l.high * b0.l.high;
-
- c = (uint64_t)rl.l.high + rm.l.low + rn.l.low;
- rl.l.high = c;
- c >>= 32;
- c = c + rm.l.high + rn.l.high + rh.l.low;
- rh.l.low = c;
- rh.l.high += (uint32_t)(c >> 32);
-
- *plow = rl.ll;
- *phigh = rh.ll;
-}
-
-/* Unsigned 64x64 -> 128 multiplication */
-void mulu64 (uint64_t *plow, uint64_t *phigh, uint64_t a, uint64_t b)
-{
- mul64(plow, phigh, a, b);
-}
-
-/* Signed 64x64 -> 128 multiplication */
-void muls64 (uint64_t *plow, uint64_t *phigh, int64_t a, int64_t b)
-{
- uint64_t rh;
-
- mul64(plow, &rh, a, b);
-
- /* Adjust for signs. */
- if (b < 0) {
- rh -= a;
- }
- if (a < 0) {
- rh -= b;
- }
- *phigh = rh;
-}
-
-/* Unsigned 128x64 division. Returns 1 if overflow (divide by zero or */
-/* quotient exceeds 64 bits). Otherwise returns quotient via plow and */
-/* remainder via phigh. */
-int divu128(uint64_t *plow, uint64_t *phigh, uint64_t divisor)
-{
- uint64_t dhi = *phigh;
- uint64_t dlo = *plow;
- unsigned i;
- uint64_t carry = 0;
-
- if (divisor == 0) {
- return 1;
- } else if (dhi == 0) {
- *plow = dlo / divisor;
- *phigh = dlo % divisor;
- return 0;
- } else if (dhi > divisor) {
- return 1;
- } else {
-
- for (i = 0; i < 64; i++) {
- carry = dhi >> 63;
- dhi = (dhi << 1) | (dlo >> 63);
- if (carry || (dhi >= divisor)) {
- dhi -= divisor;
- carry = 1;
- } else {
- carry = 0;
- }
- dlo = (dlo << 1) | carry;
- }
-
- *plow = dlo;
- *phigh = dhi;
- return 0;
- }
-}
-
-int divs128(int64_t *plow, int64_t *phigh, int64_t divisor)
-{
- int sgn_dvdnd = *phigh < 0;
- int sgn_divsr = divisor < 0;
- int overflow = 0;
-
- if (sgn_dvdnd) {
- *plow = ~(*plow);
- *phigh = ~(*phigh);
- if (*plow == (int64_t)-1) {
- *plow = 0;
- (*phigh)++;
- } else {
- (*plow)++;
- }
- }
-
- if (sgn_divsr) {
- divisor = 0 - divisor;
- }
-
- overflow = divu128((uint64_t *)plow, (uint64_t *)phigh, (uint64_t)divisor);
-
- if (sgn_dvdnd ^ sgn_divsr) {
- *plow = 0 - *plow;
- }
-
- if (!overflow) {
- if ((*plow < 0) ^ (sgn_dvdnd ^ sgn_divsr)) {
- overflow = 1;
- }
- }
-
- return overflow;
-}
-#endif
-
/**
* urshift - 128-bit Unsigned Right Shift.
* @plow: in/out - lower 64-bit integer.
--
1.8.3.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 2/7] Remove support for compilers that can not do 128-bit arithmetics
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 2/7] Remove support for compilers that can not do 128-bit arithmetics Thomas Huth
@ 2018-12-03 14:11 ` Richard Henderson
2018-12-03 14:16 ` Thomas Huth
0 siblings, 1 reply; 23+ messages in thread
From: Richard Henderson @ 2018-12-03 14:11 UTC (permalink / raw)
To: Thomas Huth, qemu-devel; +Cc: Daniel P. Berrangé, pbonzini, peter.maydell
On 12/3/18 8:05 AM, Thomas Huth wrote:
> +++ b/include/qemu/host-utils.h
> @@ -28,7 +28,6 @@
>
> #include "qemu/bswap.h"
>
> -#ifdef CONFIG_INT128
> static inline void mulu64(uint64_t *plow, uint64_t *phigh,
> uint64_t a, uint64_t b)
> {
> @@ -76,35 +75,6 @@ static inline int divs128(int64_t *plow, int64_t *phigh, int64_t divisor)
> return result != *plow;
> }
> }
> -#else
> -void muls64(uint64_t *phigh, uint64_t *plow, int64_t a, int64_t b);
> -void mulu64(uint64_t *phigh, uint64_t *plow, uint64_t a, uint64_t b);
No, because __int128 support requires a 64-bit host.
This will not compile for a 32-bit host.
r~
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 2/7] Remove support for compilers that can not do 128-bit arithmetics
2018-12-03 14:11 ` Richard Henderson
@ 2018-12-03 14:16 ` Thomas Huth
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2018-12-03 14:16 UTC (permalink / raw)
To: Richard Henderson, qemu-devel
Cc: Daniel P. Berrangé, pbonzini, peter.maydell
On 2018-12-03 15:11, Richard Henderson wrote:
> On 12/3/18 8:05 AM, Thomas Huth wrote:
>> +++ b/include/qemu/host-utils.h
>> @@ -28,7 +28,6 @@
>>
>> #include "qemu/bswap.h"
>>
>> -#ifdef CONFIG_INT128
>> static inline void mulu64(uint64_t *plow, uint64_t *phigh,
>> uint64_t a, uint64_t b)
>> {
>> @@ -76,35 +75,6 @@ static inline int divs128(int64_t *plow, int64_t *phigh, int64_t divisor)
>> return result != *plow;
>> }
>> }
>> -#else
>> -void muls64(uint64_t *phigh, uint64_t *plow, int64_t a, int64_t b);
>> -void mulu64(uint64_t *phigh, uint64_t *plow, uint64_t a, uint64_t b);
>
> No, because __int128 support requires a 64-bit host.
> This will not compile for a 32-bit host.
Oops, my bad, you're right, of course. This would have been too easy, I
guess ... So it seems that the only thing that we could do here is to
get rid of the Clang version check in the configure script...
Thomas
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PATCH for-4.0 3/7] configure: Remove old -fno-gcse workaround for GCC 4.6.x and 4.7.[012]
2018-12-03 14:05 [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions Thomas Huth
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 1/7] configure: Add a test for the minimum compiler version Thomas Huth
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 2/7] Remove support for compilers that can not do 128-bit arithmetics Thomas Huth
@ 2018-12-03 14:05 ` Thomas Huth
2018-12-03 16:11 ` Richard Henderson
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 4/7] Remove QEMU_ARTIFICIAL macro Thomas Huth
` (5 subsequent siblings)
8 siblings, 1 reply; 23+ messages in thread
From: Thomas Huth @ 2018-12-03 14:05 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Daniel P. Berrangé, pbonzini, peter.maydell
Now that we require at least GCC 4.8, we don't need this als workaround
for 4.6 and 4.7 anymore.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
Makefile.target | 3 ---
configure | 27 ---------------------------
2 files changed, 30 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index 4d56298..44ec4b6 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -158,9 +158,6 @@ GENERATED_FILES += hmp-commands.h hmp-commands-info.h
endif # CONFIG_SOFTMMU
-# Workaround for http://gcc.gnu.org/PR55489, see configure.
-%/translate.o: QEMU_CFLAGS += $(TRANSLATE_OPT_CFLAGS)
-
dummy := $(call unnest-vars,,obj-y)
all-obj-y := $(obj-y)
diff --git a/configure b/configure
index 14e9722..ba95f01 100755
--- a/configure
+++ b/configure
@@ -1930,32 +1930,6 @@ else
QEMU_CFLAGS="$QEMU_CFLAGS -Wno-missing-braces"
fi
-# Workaround for http://gcc.gnu.org/PR55489. Happens with -fPIE/-fPIC and
-# large functions that use global variables. The bug is in all releases of
-# GCC, but it became particularly acute in 4.6.x and 4.7.x. It is fixed in
-# 4.7.3 and 4.8.0. We should be able to delete this at the end of 2013.
-cat > $TMPC << EOF
-#if __GNUC__ == 4 && (__GNUC_MINOR__ == 6 || (__GNUC_MINOR__ == 7 && __GNUC_PATCHLEVEL__ <= 2))
-int main(void) { return 0; }
-#else
-#error No bug in this compiler.
-#endif
-EOF
-if compile_prog "-Werror -fno-gcse" "" ; then
- TRANSLATE_OPT_CFLAGS=-fno-gcse
-fi
-
-if test "$static" = "yes" ; then
- if test "$modules" = "yes" ; then
- error_exit "static and modules are mutually incompatible"
- fi
- if test "$pie" = "yes" ; then
- error_exit "static and pie are mutually incompatible"
- else
- pie="no"
- fi
-fi
-
# Unconditional check for compiler __thread support
cat > $TMPC << EOF
static __thread int tls_var;
@@ -6953,7 +6927,6 @@ echo "LIBS_QGA+=$libs_qga" >> $config_host_mak
echo "TASN1_LIBS=$tasn1_libs" >> $config_host_mak
echo "TASN1_CFLAGS=$tasn1_cflags" >> $config_host_mak
echo "POD2MAN=$POD2MAN" >> $config_host_mak
-echo "TRANSLATE_OPT_CFLAGS=$TRANSLATE_OPT_CFLAGS" >> $config_host_mak
if test "$gcov" = "yes" ; then
echo "CONFIG_GCOV=y" >> $config_host_mak
echo "GCOV=$gcov_tool" >> $config_host_mak
--
1.8.3.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PATCH for-4.0 4/7] Remove QEMU_ARTIFICIAL macro
2018-12-03 14:05 [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions Thomas Huth
` (2 preceding siblings ...)
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 3/7] configure: Remove old -fno-gcse workaround for GCC 4.6.x and 4.7.[012] Thomas Huth
@ 2018-12-03 14:05 ` Thomas Huth
2018-12-03 16:13 ` Richard Henderson
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 5/7] tcg/tcg.h: Remove GCC check for tcg_debug_assert() macro Thomas Huth
` (4 subsequent siblings)
8 siblings, 1 reply; 23+ messages in thread
From: Thomas Huth @ 2018-12-03 14:05 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Daniel P. Berrangé, pbonzini, peter.maydell
The code that used it has already been removed a while ago with commit
dc41aa7d34989b552ef ("tcg: Remove GET_TCGV_* and MAKE_TCGV_*").
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
include/qemu/compiler.h | 6 ------
scripts/checkpatch.pl | 1 -
scripts/cocci-macro-file.h | 1 -
3 files changed, 8 deletions(-)
diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h
index 6b92710..8337361 100644
--- a/include/qemu/compiler.h
+++ b/include/qemu/compiler.h
@@ -28,12 +28,6 @@
#define QEMU_SENTINEL __attribute__((sentinel))
-#if QEMU_GNUC_PREREQ(4, 3)
-#define QEMU_ARTIFICIAL __attribute__((always_inline, artificial))
-#else
-#define QEMU_ARTIFICIAL
-#endif
-
#if defined(_WIN32)
# define QEMU_PACKED __attribute__((gcc_struct, packed))
#else
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 60f6f89..a892a6c 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -202,7 +202,6 @@ our $Attribute = qr{
QEMU_NORETURN|
QEMU_WARN_UNUSED_RESULT|
QEMU_SENTINEL|
- QEMU_ARTIFICIAL|
QEMU_PACKED|
GCC_FMT_ATTR
}x;
diff --git a/scripts/cocci-macro-file.h b/scripts/cocci-macro-file.h
index 9f2e72e..7e200a1 100644
--- a/scripts/cocci-macro-file.h
+++ b/scripts/cocci-macro-file.h
@@ -23,7 +23,6 @@
#define QEMU_NORETURN __attribute__ ((__noreturn__))
#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#define QEMU_SENTINEL __attribute__((sentinel))
-#define QEMU_ARTIFICIAL __attribute__((always_inline, artificial))
#define QEMU_PACKED __attribute__((gcc_struct, packed))
#define cat(x,y) x ## y
--
1.8.3.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 4/7] Remove QEMU_ARTIFICIAL macro
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 4/7] Remove QEMU_ARTIFICIAL macro Thomas Huth
@ 2018-12-03 16:13 ` Richard Henderson
0 siblings, 0 replies; 23+ messages in thread
From: Richard Henderson @ 2018-12-03 16:13 UTC (permalink / raw)
To: Thomas Huth, qemu-devel; +Cc: peter.maydell, pbonzini, Richard Henderson
On 12/3/18 8:05 AM, Thomas Huth wrote:
> The code that used it has already been removed a while ago with commit
> dc41aa7d34989b552ef ("tcg: Remove GET_TCGV_* and MAKE_TCGV_*").
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> include/qemu/compiler.h | 6 ------
> scripts/checkpatch.pl | 1 -
> scripts/cocci-macro-file.h | 1 -
> 3 files changed, 8 deletions(-)
Eh. In theory this could be added to some of the other trivial interface
inline functions that we have, in order to ease the debugging experience. But
since we're not actually doing that, removing this is also fine.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PATCH for-4.0 5/7] tcg/tcg.h: Remove GCC check for tcg_debug_assert() macro
2018-12-03 14:05 [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions Thomas Huth
` (3 preceding siblings ...)
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 4/7] Remove QEMU_ARTIFICIAL macro Thomas Huth
@ 2018-12-03 14:05 ` Thomas Huth
2018-12-03 16:13 ` Richard Henderson
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 6/7] audio/alsaaudio: Remove compiler check around pragma Thomas Huth
` (3 subsequent siblings)
8 siblings, 1 reply; 23+ messages in thread
From: Thomas Huth @ 2018-12-03 14:05 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Daniel P. Berrangé, pbonzini, peter.maydell
Both GCC v4.8 and Clang v3.4 support (our minimum versions) support
__builtin_unreachable(), so we can remove the version check here now.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tcg/tcg.h | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/tcg/tcg.h b/tcg/tcg.h
index f4efbaa..f9a56a9 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -230,11 +230,9 @@ typedef uint64_t tcg_insn_unit;
#if defined CONFIG_DEBUG_TCG || defined QEMU_STATIC_ANALYSIS
# define tcg_debug_assert(X) do { assert(X); } while (0)
-#elif QEMU_GNUC_PREREQ(4, 5)
+#else
# define tcg_debug_assert(X) \
do { if (!(X)) { __builtin_unreachable(); } } while (0)
-#else
-# define tcg_debug_assert(X) do { (void)(X); } while (0)
#endif
typedef struct TCGRelocation {
--
1.8.3.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PATCH for-4.0 6/7] audio/alsaaudio: Remove compiler check around pragma
2018-12-03 14:05 [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions Thomas Huth
` (4 preceding siblings ...)
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 5/7] tcg/tcg.h: Remove GCC check for tcg_debug_assert() macro Thomas Huth
@ 2018-12-03 14:05 ` Thomas Huth
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 7/7] includes: Replace QEMU_GNUC_PREREQ with "__has_builtin || !defined(__clang__)" Thomas Huth
` (2 subsequent siblings)
8 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2018-12-03 14:05 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Daniel P. Berrangé, pbonzini, peter.maydell
Both GCC v4.8 and Clang v3.4 support the -Waddress option, so we do
not need the compiler version check here anymore.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
audio/alsaaudio.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/audio/alsaaudio.c b/audio/alsaaudio.c
index 362a227..635be73 100644
--- a/audio/alsaaudio.c
+++ b/audio/alsaaudio.c
@@ -28,9 +28,7 @@
#include "audio.h"
#include "trace.h"
-#if QEMU_GNUC_PREREQ(4, 3)
#pragma GCC diagnostic ignored "-Waddress"
-#endif
#define AUDIO_CAP "alsa"
#include "audio_int.h"
--
1.8.3.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PATCH for-4.0 7/7] includes: Replace QEMU_GNUC_PREREQ with "__has_builtin || !defined(__clang__)"
2018-12-03 14:05 [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions Thomas Huth
` (5 preceding siblings ...)
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 6/7] audio/alsaaudio: Remove compiler check around pragma Thomas Huth
@ 2018-12-03 14:05 ` Thomas Huth
2018-12-03 16:20 ` Richard Henderson
2018-12-03 17:36 ` [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions no-reply
2018-12-04 2:36 ` no-reply
8 siblings, 1 reply; 23+ messages in thread
From: Thomas Huth @ 2018-12-03 14:05 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Daniel P. Berrangé, pbonzini, peter.maydell
Since we require GCC version 4.8 or newer now, we can be sure that
the builtin functions are always available on GCC. And for Clang,
we can check the availablility with __has_builtin instead.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
include/qemu/compiler.h | 2 +-
include/qemu/host-utils.h | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h
index 8337361..261842b 100644
--- a/include/qemu/compiler.h
+++ b/include/qemu/compiler.h
@@ -121,7 +121,7 @@
#define __has_builtin(x) 0 /* compatibility with non-clang compilers */
#endif
-#if __has_builtin(__builtin_assume_aligned) || QEMU_GNUC_PREREQ(4, 7)
+#if __has_builtin(__builtin_assume_aligned) || !defined(__clang__)
#define HAS_ASSUME_ALIGNED
#endif
diff --git a/include/qemu/host-utils.h b/include/qemu/host-utils.h
index 25ba3e8..0b3b79e 100644
--- a/include/qemu/host-utils.h
+++ b/include/qemu/host-utils.h
@@ -177,7 +177,7 @@ static inline int cto64(uint64_t val)
*/
static inline int clrsb32(uint32_t val)
{
-#if QEMU_GNUC_PREREQ(4, 7)
+#if __has_builtin(__builtin_clrsb) || !defined(__clang__)
return __builtin_clrsb(val);
#else
return clz32(val ^ ((int32_t)val >> 1)) - 1;
@@ -193,7 +193,7 @@ static inline int clrsb32(uint32_t val)
*/
static inline int clrsb64(uint64_t val)
{
-#if QEMU_GNUC_PREREQ(4, 7)
+#if __has_builtin(__builtin_clrsbll) || !defined(__clang__)
return __builtin_clrsbll(val);
#else
return clz64(val ^ ((int64_t)val >> 1)) - 1;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions
2018-12-03 14:05 [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions Thomas Huth
` (6 preceding siblings ...)
2018-12-03 14:05 ` [Qemu-devel] [PATCH for-4.0 7/7] includes: Replace QEMU_GNUC_PREREQ with "__has_builtin || !defined(__clang__)" Thomas Huth
@ 2018-12-03 17:36 ` no-reply
2018-12-04 2:36 ` no-reply
8 siblings, 0 replies; 23+ messages in thread
From: no-reply @ 2018-12-03 17:36 UTC (permalink / raw)
To: thuth; +Cc: famz, qemu-devel, peter.maydell, pbonzini, rth
Hi,
This series failed docker-mingw@fedora build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.
Subject: [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions
Message-id: 1543845937-300-1-git-send-email-thuth@redhat.com
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-mingw@fedora SHOW_ENV=1 J=8
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
* [new tag] patchew/20181203160840.15115-1-richard.henderson@linaro.org -> patchew/20181203160840.15115-1-richard.henderson@linaro.org
Switched to a new branch 'test'
f0ac2b3 includes: Replace QEMU_GNUC_PREREQ with "__has_builtin || !defined(__clang__)"
23c5dec audio/alsaaudio: Remove compiler check around pragma
bbb841d tcg/tcg.h: Remove GCC check for tcg_debug_assert() macro
60294d6 Remove QEMU_ARTIFICIAL macro
0be5d0f configure: Remove old -fno-gcse workaround for GCC 4.6.x and 4.7.[012]
ac9a491 Remove support for compilers that can not do 128-bit arithmetics
1aa7779 configure: Add a test for the minimum compiler version
=== OUTPUT BEGIN ===
BUILD fedora
make[1]: Entering directory `/var/tmp/patchew-tester-tmp-qr875vmm/src'
GEN /var/tmp/patchew-tester-tmp-qr875vmm/src/docker-src.2018-12-03-12.28.49.24278/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-qr875vmm/src/docker-src.2018-12-03-12.28.49.24278/qemu.tar.vroot'...
done.
Checking out files: 49% (3178/6465)
Checking out files: 50% (3233/6465)
Checking out files: 51% (3298/6465)
Checking out files: 52% (3362/6465)
Checking out files: 53% (3427/6465)
Checking out files: 54% (3492/6465)
Checking out files: 55% (3556/6465)
Checking out files: 56% (3621/6465)
Checking out files: 57% (3686/6465)
Checking out files: 58% (3750/6465)
Checking out files: 59% (3815/6465)
Checking out files: 60% (3879/6465)
Checking out files: 61% (3944/6465)
Checking out files: 62% (4009/6465)
Checking out files: 63% (4073/6465)
Checking out files: 64% (4138/6465)
Checking out files: 65% (4203/6465)
Checking out files: 66% (4267/6465)
Checking out files: 67% (4332/6465)
Checking out files: 68% (4397/6465)
Checking out files: 69% (4461/6465)
Checking out files: 70% (4526/6465)
Checking out files: 71% (4591/6465)
Checking out files: 72% (4655/6465)
Checking out files: 73% (4720/6465)
Checking out files: 74% (4785/6465)
Checking out files: 75% (4849/6465)
Checking out files: 76% (4914/6465)
Checking out files: 77% (4979/6465)
Checking out files: 78% (5043/6465)
Checking out files: 79% (5108/6465)
Checking out files: 80% (5172/6465)
Checking out files: 81% (5237/6465)
Checking out files: 82% (5302/6465)
Checking out files: 83% (5366/6465)
Checking out files: 84% (5431/6465)
Checking out files: 85% (5496/6465)
Checking out files: 86% (5560/6465)
Checking out files: 87% (5625/6465)
Checking out files: 88% (5690/6465)
Checking out files: 89% (5754/6465)
Checking out files: 90% (5819/6465)
Checking out files: 91% (5884/6465)
Checking out files: 92% (5948/6465)
Checking out files: 93% (6013/6465)
Checking out files: 94% (6078/6465)
Checking out files: 95% (6142/6465)
Checking out files: 96% (6207/6465)
Checking out files: 97% (6272/6465)
Checking out files: 98% (6336/6465)
Checking out files: 99% (6401/6465)
Checking out files: 100% (6465/6465)
Checking out files: 100% (6465/6465), done.
Submodule 'dtc' (https://git.qemu.org/git/dtc.git) registered for path 'dtc'
Cloning into 'dtc'...
Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536'
Submodule 'ui/keycodemapdb' (https://git.qemu.org/git/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into 'ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
COPY RUNNER
RUN test-mingw in qemu:fedora
Packages installed:
SDL2-devel-2.0.9-1.fc28.x86_64
bc-1.07.1-5.fc28.x86_64
bison-3.0.4-9.fc28.x86_64
bluez-libs-devel-5.50-1.fc28.x86_64
brlapi-devel-0.6.7-19.fc28.x86_64
bzip2-1.0.6-26.fc28.x86_64
bzip2-devel-1.0.6-26.fc28.x86_64
ccache-3.4.2-2.fc28.x86_64
clang-6.0.1-2.fc28.x86_64
device-mapper-multipath-devel-0.7.4-3.git07e7bd5.fc28.x86_64
findutils-4.6.0-19.fc28.x86_64
flex-2.6.1-7.fc28.x86_64
gcc-8.2.1-5.fc28.x86_64
gcc-c++-8.2.1-5.fc28.x86_64
gettext-0.19.8.1-14.fc28.x86_64
git-2.17.2-1.fc28.x86_64
glib2-devel-2.56.3-2.fc28.x86_64
glusterfs-api-devel-4.1.5-1.fc28.x86_64
gnutls-devel-3.6.4-1.fc28.x86_64
gtk3-devel-3.22.30-1.fc28.x86_64
hostname-3.20-3.fc28.x86_64
libaio-devel-0.3.110-11.fc28.x86_64
libasan-8.2.1-5.fc28.x86_64
libattr-devel-2.4.48-3.fc28.x86_64
libcap-devel-2.25-9.fc28.x86_64
libcap-ng-devel-0.7.9-4.fc28.x86_64
libcurl-devel-7.59.0-8.fc28.x86_64
libfdt-devel-1.4.7-1.fc28.x86_64
libpng-devel-1.6.34-6.fc28.x86_64
librbd-devel-12.2.8-1.fc28.x86_64
libssh2-devel-1.8.0-7.fc28.x86_64
libubsan-8.2.1-5.fc28.x86_64
libusbx-devel-1.0.22-1.fc28.x86_64
libxml2-devel-2.9.8-4.fc28.x86_64
llvm-6.0.1-8.fc28.x86_64
lzo-devel-2.08-12.fc28.x86_64
make-4.2.1-6.fc28.x86_64
mingw32-SDL2-2.0.9-1.fc28.noarch
mingw32-bzip2-1.0.6-9.fc27.noarch
mingw32-curl-7.57.0-1.fc28.noarch
mingw32-glib2-2.56.1-1.fc28.noarch
mingw32-gmp-6.1.2-2.fc27.noarch
mingw32-gnutls-3.6.3-1.fc28.noarch
mingw32-gtk3-3.22.30-1.fc28.noarch
mingw32-libjpeg-turbo-1.5.1-3.fc27.noarch
mingw32-libpng-1.6.29-2.fc27.noarch
mingw32-libssh2-1.8.0-3.fc27.noarch
mingw32-libtasn1-4.13-1.fc28.noarch
mingw32-nettle-3.4-1.fc28.noarch
mingw32-pixman-0.34.0-3.fc27.noarch
mingw32-pkg-config-0.28-9.fc27.x86_64
mingw64-SDL2-2.0.9-1.fc28.noarch
mingw64-bzip2-1.0.6-9.fc27.noarch
mingw64-curl-7.57.0-1.fc28.noarch
mingw64-glib2-2.56.1-1.fc28.noarch
mingw64-gmp-6.1.2-2.fc27.noarch
mingw64-gnutls-3.6.3-1.fc28.noarch
mingw64-gtk3-3.22.30-1.fc28.noarch
mingw64-libjpeg-turbo-1.5.1-3.fc27.noarch
mingw64-libpng-1.6.29-2.fc27.noarch
mingw64-libssh2-1.8.0-3.fc27.noarch
mingw64-libtasn1-4.13-1.fc28.noarch
mingw64-nettle-3.4-1.fc28.noarch
mingw64-pixman-0.34.0-3.fc27.noarch
mingw64-pkg-config-0.28-9.fc27.x86_64
ncurses-devel-6.1-5.20180224.fc28.x86_64
nettle-devel-3.4-2.fc28.x86_64
nss-devel-3.39.0-1.0.fc28.x86_64
numactl-devel-2.0.11-8.fc28.x86_64
package PyYAML is not installed
package libjpeg-devel is not installed
perl-5.26.2-414.fc28.x86_64
pixman-devel-0.34.0-8.fc28.x86_64
python3-3.6.6-1.fc28.x86_64
snappy-devel-1.1.7-5.fc28.x86_64
sparse-0.5.2-1.fc28.x86_64
spice-server-devel-0.14.0-4.fc28.x86_64
systemtap-sdt-devel-4.0-1.fc28.x86_64
tar-1.30-3.fc28.x86_64
usbredir-devel-0.8.0-1.fc28.x86_64
virglrenderer-devel-0.6.0-4.20170210git76b3da97b.fc28.x86_64
vte3-devel-0.36.5-6.fc28.x86_64
which-2.21-8.fc28.x86_64
xen-devel-4.10.2-2.fc28.x86_64
zlib-devel-1.2.11-8.fc28.x86_64
Environment variables:
TARGET_LIST=
PACKAGES=bc bison bluez-libs-devel brlapi-devel bzip2 bzip2-devel ccache clang device-mapper-multipath-devel findutils flex gcc gcc-c++ gettext git glib2-devel glusterfs-api-devel gnutls-devel gtk3-devel hostname libaio-devel libasan libattr-devel libcap-devel libcap-ng-devel libcurl-devel libfdt-devel libjpeg-devel libpng-devel librbd-devel libssh2-devel libubsan libusbx-devel libxml2-devel llvm lzo-devel make mingw32-bzip2 mingw32-curl mingw32-glib2 mingw32-gmp mingw32-gnutls mingw32-gtk3 mingw32-libjpeg-turbo mingw32-libpng mingw32-libssh2 mingw32-libtasn1 mingw32-nettle mingw32-pixman mingw32-pkg-config mingw32-SDL2 mingw64-bzip2 mingw64-curl mingw64-glib2 mingw64-gmp mingw64-gnutls mingw64-gtk3 mingw64-libjpeg-turbo mingw64-libpng mingw64-libssh2 mingw64-libtasn1 mingw64-nettle mingw64-pixman mingw64-pkg-config mingw64-SDL2 ncurses-devel nettle-devel nss-devel numactl-devel perl pixman-devel python3 PyYAML SDL2-devel snappy-devel sparse spice-server-devel systemtap-sdt-devel tar usbredir-devel virglrenderer-devel vte3-devel which xen-devel zlib-devel
J=8
V=
HOSTNAME=80a1f5fee747
DEBUG=
SHOW_ENV=1
PWD=/
HOME=/home/patchew
CCACHE_DIR=/var/tmp/ccache
FBR=f28
DISTTAG=f28container
QEMU_CONFIGURE_OPTS=--python=/usr/bin/python3
FGC=f28
TEST_DIR=/tmp/qemu-test
SHLVL=1
FEATURES=mingw clang pyyaml asan dtc
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAKEFLAGS= -j8
EXTRA_CONFIGURE_OPTS=
_=/usr/bin/env
Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install --python=/usr/bin/python3 --cross-prefix=x86_64-w64-mingw32- --enable-trace-backends=simple --enable-gnutls --enable-nettle --enable-curl --enable-vnc --enable-bzip2 --enable-guest-agent --with-sdlabi=2.0
Install prefix /tmp/qemu-test/install
BIOS directory /tmp/qemu-test/install
firmware path /tmp/qemu-test/install/share/qemu-firmware
binary directory /tmp/qemu-test/install
library directory /tmp/qemu-test/install/lib
module directory /tmp/qemu-test/install/lib
libexec directory /tmp/qemu-test/install/libexec
include directory /tmp/qemu-test/install/include
config directory /tmp/qemu-test/install
local state directory queried at runtime
Windows SDK no
Source path /tmp/qemu-test/src
GIT binary git
GIT submodules
C compiler x86_64-w64-mingw32-gcc
Host C compiler cc
C++ compiler x86_64-w64-mingw32-g++
Objective-C compiler clang
ARFLAGS rv
CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g
QEMU_CFLAGS -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -Werror -DHAS_LIBSSH2_SFTP_FSYNC -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -mms-bitfields -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0 -I/usr/x86_64-w64-mingw32/sys-root/mingw/lib/glib-2.0/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -m64 -mcx16 -mthreads -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -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 -fwrapv -Wexpansion-to-defined -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/p11-kit-1 -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/libpng16
LDFLAGS -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m64 -g
QEMU_LDFLAGS -L$(BUILD_DIR)/dtc/libfdt
make make
install install
python /usr/bin/python3 -B
smbd /usr/sbin/smbd
module support no
host CPU x86_64
host big endian no
target list x86_64-softmmu aarch64-softmmu
gprof enabled no
sparse enabled no
strip binaries yes
profiler no
static build no
SDL support yes (2.0.9)
GTK support yes (3.22.30)
GTK GL support no
VTE support no
TLS priority NORMAL
GNUTLS support yes
libgcrypt no
nettle yes (3.4)
libtasn1 yes
curses support no
virgl support no
curl support yes
mingw32 support yes
Audio drivers dsound
Block whitelist (rw)
Block whitelist (ro)
VirtFS support no
Multipath support no
VNC support yes
VNC SASL support no
VNC JPEG support yes
VNC PNG support yes
xen support no
brlapi support no
bluez support no
Documentation no
PIE no
vde support no
netmap support no
Linux AIO support no
ATTR/XATTR support no
Install blobs yes
KVM support no
HAX support yes
HVF support no
WHPX support no
TCG support yes
TCG debug enabled no
TCG interpreter no
malloc trim support no
RDMA support no
PVRDMA support no
fdt support git
membarrier no
preadv support no
fdatasync no
madvise no
posix_madvise no
posix_memalign no
libcap-ng support no
vhost-net support no
vhost-crypto support no
vhost-scsi support no
vhost-vsock support no
vhost-user support no
Trace backends simple
Trace output file trace-<pid>
spice support no
rbd support no
xfsctl support no
smartcard support no
libusb no
usb net redir no
OpenGL support no
OpenGL dmabufs no
libiscsi support no
libnfs support no
build guest agent yes
QGA VSS support no
QGA w32 disk info yes
QGA MSI support no
seccomp support no
coroutine backend win32
coroutine pool yes
debug stack usage no
mutex debugging no
crypto afalg no
GlusterFS support no
gcov gcov
gcov enabled no
TPM support yes
libssh2 support yes
TPM passthrough no
TPM emulator no
QOM debugging yes
Live block migration yes
lzo support no
snappy support no
bzip2 support yes
NUMA host support no
libxml2 no
tcmalloc support no
jemalloc support no
avx2 optimization yes
replication support yes
VxHS block device no
bochs support yes
cloop support yes
dmg support yes
qcow v1 support yes
vdi support yes
vvfat support yes
qed support yes
parallels support yes
sheepdog support yes
capstone no
docker no
libpmem support no
libudev no
NOTE: cross-compilers enabled: 'x86_64-w64-mingw32-gcc'
GEN x86_64-softmmu/config-devices.mak.tmp
GEN aarch64-softmmu/config-devices.mak.tmp
GEN config-host.h
GEN qemu-options.def
GEN qapi-gen
GEN trace/generated-tcg-tracers.h
GEN trace/generated-helpers-wrappers.h
GEN trace/generated-helpers.h
GEN trace/generated-helpers.c
GEN aarch64-softmmu/config-devices.mak
GEN x86_64-softmmu/config-devices.mak
GEN module_block.h
GEN ui/input-keymap-atset1-to-qcode.c
GEN ui/input-keymap-linux-to-qcode.c
GEN ui/input-keymap-qcode-to-atset1.c
GEN ui/input-keymap-qcode-to-atset2.c
GEN ui/input-keymap-qcode-to-atset3.c
GEN ui/input-keymap-qcode-to-linux.c
GEN ui/input-keymap-qcode-to-qnum.c
GEN ui/input-keymap-qcode-to-sun.c
GEN ui/input-keymap-qnum-to-qcode.c
GEN ui/input-keymap-usb-to-qcode.c
GEN ui/input-keymap-win32-to-qcode.c
GEN ui/input-keymap-x11-to-qcode.c
GEN ui/input-keymap-xorgevdev-to-qcode.c
GEN ui/input-keymap-xorgkbd-to-qcode.c
GEN ui/input-keymap-xorgxquartz-to-qcode.c
GEN ui/input-keymap-xorgxwin-to-qcode.c
GEN ui/input-keymap-osx-to-qcode.c
GEN trace-root.h
GEN tests/test-qapi-gen
GEN accel/kvm/trace.h
GEN accel/tcg/trace.h
GEN audio/trace.h
GEN block/trace.h
GEN chardev/trace.h
GEN crypto/trace.h
GEN hw/9pfs/trace.h
GEN hw/acpi/trace.h
GEN hw/alpha/trace.h
GEN hw/arm/trace.h
GEN hw/audio/trace.h
GEN hw/block/trace.h
GEN hw/block/dataplane/trace.h
GEN hw/char/trace.h
GEN hw/display/trace.h
GEN hw/dma/trace.h
GEN hw/hppa/trace.h
GEN hw/i2c/trace.h
GEN hw/i386/trace.h
GEN hw/i386/xen/trace.h
GEN hw/ide/trace.h
GEN hw/input/trace.h
GEN hw/intc/trace.h
GEN hw/isa/trace.h
GEN hw/mem/trace.h
GEN hw/misc/trace.h
GEN hw/misc/macio/trace.h
GEN hw/net/trace.h
GEN hw/nvram/trace.h
GEN hw/pci/trace.h
GEN hw/pci-host/trace.h
GEN hw/ppc/trace.h
GEN hw/rdma/trace.h
GEN hw/rdma/vmw/trace.h
GEN hw/s390x/trace.h
GEN hw/scsi/trace.h
GEN hw/sd/trace.h
GEN hw/sparc/trace.h
GEN hw/sparc64/trace.h
GEN hw/timer/trace.h
GEN hw/tpm/trace.h
GEN hw/usb/trace.h
GEN hw/vfio/trace.h
GEN hw/virtio/trace.h
GEN hw/watchdog/trace.h
GEN hw/xen/trace.h
GEN io/trace.h
GEN linux-user/trace.h
GEN migration/trace.h
GEN nbd/trace.h
GEN net/trace.h
GEN qapi/trace.h
GEN qom/trace.h
GEN scsi/trace.h
GEN target/arm/trace.h
GEN target/i386/trace.h
GEN target/mips/trace.h
GEN target/ppc/trace.h
GEN target/s390x/trace.h
GEN target/sparc/trace.h
GEN ui/trace.h
GEN util/trace.h
GEN trace-root.c
GEN accel/kvm/trace.c
GEN accel/tcg/trace.c
GEN audio/trace.c
GEN block/trace.c
GEN chardev/trace.c
GEN crypto/trace.c
GEN hw/9pfs/trace.c
GEN hw/acpi/trace.c
GEN hw/alpha/trace.c
GEN hw/arm/trace.c
GEN hw/audio/trace.c
GEN hw/block/trace.c
GEN hw/block/dataplane/trace.c
GEN hw/char/trace.c
GEN hw/display/trace.c
GEN hw/dma/trace.c
GEN hw/hppa/trace.c
GEN hw/i2c/trace.c
GEN hw/i386/trace.c
GEN hw/i386/xen/trace.c
GEN hw/ide/trace.c
GEN hw/input/trace.c
GEN hw/intc/trace.c
GEN hw/isa/trace.c
GEN hw/mem/trace.c
GEN hw/misc/trace.c
GEN hw/misc/macio/trace.c
GEN hw/net/trace.c
GEN hw/nvram/trace.c
GEN hw/pci/trace.c
GEN hw/pci-host/trace.c
GEN hw/ppc/trace.c
GEN hw/rdma/trace.c
GEN hw/rdma/vmw/trace.c
GEN hw/s390x/trace.c
GEN hw/scsi/trace.c
GEN hw/sd/trace.c
GEN hw/sparc/trace.c
GEN hw/sparc64/trace.c
GEN hw/timer/trace.c
GEN hw/tpm/trace.c
GEN hw/usb/trace.c
GEN hw/vfio/trace.c
GEN hw/virtio/trace.c
GEN hw/watchdog/trace.c
GEN hw/xen/trace.c
GEN io/trace.c
GEN linux-user/trace.c
GEN migration/trace.c
GEN nbd/trace.c
GEN net/trace.c
GEN qapi/trace.c
GEN qom/trace.c
GEN scsi/trace.c
GEN target/arm/trace.c
GEN target/i386/trace.c
GEN target/mips/trace.c
GEN target/ppc/trace.c
GEN target/s390x/trace.c
GEN target/sparc/trace.c
GEN ui/trace.c
GEN util/trace.c
GEN config-all-devices.mak
DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c
DEP /tmp/qemu-test/src/dtc/tests/trees.S
DEP /tmp/qemu-test/src/dtc/tests/testutils.c
DEP /tmp/qemu-test/src/dtc/tests/value-labels.c
DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c
DEP /tmp/qemu-test/src/dtc/tests/truncated_memrsv.c
DEP /tmp/qemu-test/src/dtc/tests/truncated_string.c
DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c
DEP /tmp/qemu-test/src/dtc/tests/check_full.c
DEP /tmp/qemu-test/src/dtc/tests/check_header.c
DEP /tmp/qemu-test/src/dtc/tests/check_path.c
DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c
DEP /tmp/qemu-test/src/dtc/tests/overlay.c
DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c
DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c
DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c
DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c
DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c
DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c
DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c
DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c
DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c
DEP /tmp/qemu-test/src/dtc/tests/incbin.c
DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c
DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c
DEP /tmp/qemu-test/src/dtc/tests/path-references.c
DEP /tmp/qemu-test/src/dtc/tests/references.c
DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c
DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c
DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c
DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c
DEP /tmp/qemu-test/src/dtc/tests/del_node.c
DEP /tmp/qemu-test/src/dtc/tests/del_property.c
DEP /tmp/qemu-test/src/dtc/tests/setprop.c
DEP /tmp/qemu-test/src/dtc/tests/set_name.c
DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/open_pack.c
DEP /tmp/qemu-test/src/dtc/tests/nopulate.c
DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c
DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c
DEP /tmp/qemu-test/src/dtc/tests/sw_states.c
DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/nop_node.c
DEP /tmp/qemu-test/src/dtc/tests/nop_property.c
DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c
DEP /tmp/qemu-test/src/dtc/tests/stringlist.c
DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells2.c
DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c
DEP /tmp/qemu-test/src/dtc/tests/notfound.c
DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c
DEP /tmp/qemu-test/src/dtc/tests/char_literal.c
DEP /tmp/qemu-test/src/dtc/tests/get_alias.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c
DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c
DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c
DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c
DEP /tmp/qemu-test/src/dtc/tests/get_path.c
DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c
DEP /tmp/qemu-test/src/dtc/tests/getprop.c
DEP /tmp/qemu-test/src/dtc/tests/get_name.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset.c
DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c
DEP /tmp/qemu-test/src/dtc/tests/find_property.c
DEP /tmp/qemu-test/src/dtc/tests/root_node.c
DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c
DEP /tmp/qemu-test/src/dtc/util.c
DEP /tmp/qemu-test/src/dtc/fdtoverlay.c
DEP /tmp/qemu-test/src/dtc/fdtput.c
DEP /tmp/qemu-test/src/dtc/fdtget.c
DEP /tmp/qemu-test/src/dtc/fdtdump.c
LEX convert-dtsv0-lexer.lex.c
DEP /tmp/qemu-test/src/dtc/srcpos.c
BISON dtc-parser.tab.c
LEX dtc-lexer.lex.c
DEP /tmp/qemu-test/src/dtc/treesource.c
DEP /tmp/qemu-test/src/dtc/livetree.c
DEP /tmp/qemu-test/src/dtc/fstree.c
DEP /tmp/qemu-test/src/dtc/flattree.c
DEP /tmp/qemu-test/src/dtc/dtc.c
DEP /tmp/qemu-test/src/dtc/data.c
DEP /tmp/qemu-test/src/dtc/checks.c
DEP convert-dtsv0-lexer.lex.c
DEP dtc-parser.tab.c
DEP dtc-lexer.lex.c
CHK version_gen.h
UPD version_gen.h
DEP /tmp/qemu-test/src/dtc/util.c
CC libfdt/fdt.o
CC libfdt/fdt_ro.o
CC libfdt/fdt_wip.o
CC libfdt/fdt_sw.o
CC libfdt/fdt_rw.o
CC libfdt/fdt_strerror.o
CC libfdt/fdt_empty_tree.o
CC libfdt/fdt_addresses.o
CC libfdt/fdt_overlay.o
AR libfdt/libfdt.a
x86_64-w64-mingw32-ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
a - libfdt/fdt_addresses.o
a - libfdt/fdt_overlay.o
RC version.o
GEN qga/qapi-generated/qapi-gen
CC qapi/qapi-builtin-types.o
CC qapi/qapi-types.o
CC qapi/qapi-types-block-core.o
CC qapi/qapi-types-block.o
CC qapi/qapi-types-char.o
CC qapi/qapi-types-common.o
CC qapi/qapi-types-crypto.o
CC qapi/qapi-types-introspect.o
CC qapi/qapi-types-job.o
CC qapi/qapi-types-migration.o
CC qapi/qapi-types-misc.o
CC qapi/qapi-types-net.o
CC qapi/qapi-types-rocker.o
CC qapi/qapi-types-run-state.o
CC qapi/qapi-types-sockets.o
CC qapi/qapi-types-tpm.o
CC qapi/qapi-types-trace.o
CC qapi/qapi-types-transaction.o
CC qapi/qapi-types-ui.o
CC qapi/qapi-builtin-visit.o
CC qapi/qapi-visit.o
CC qapi/qapi-visit-block-core.o
CC qapi/qapi-visit-block.o
CC qapi/qapi-visit-char.o
CC qapi/qapi-visit-common.o
CC qapi/qapi-visit-crypto.o
CC qapi/qapi-visit-introspect.o
CC qapi/qapi-visit-job.o
CC qapi/qapi-visit-migration.o
CC qapi/qapi-visit-misc.o
CC qapi/qapi-visit-net.o
CC qapi/qapi-visit-rocker.o
CC qapi/qapi-visit-run-state.o
CC qapi/qapi-visit-sockets.o
CC qapi/qapi-visit-tpm.o
CC qapi/qapi-visit-trace.o
CC qapi/qapi-visit-transaction.o
CC qapi/qapi-visit-ui.o
CC qapi/qapi-events.o
CC qapi/qapi-events-block-core.o
CC qapi/qapi-events-block.o
CC qapi/qapi-events-char.o
CC qapi/qapi-events-common.o
CC qapi/qapi-events-crypto.o
CC qapi/qapi-events-introspect.o
CC qapi/qapi-events-job.o
CC qapi/qapi-events-migration.o
CC qapi/qapi-events-misc.o
CC qapi/qapi-events-net.o
CC qapi/qapi-events-rocker.o
CC qapi/qapi-events-run-state.o
CC qapi/qapi-events-sockets.o
CC qapi/qapi-events-tpm.o
CC qapi/qapi-events-trace.o
CC qapi/qapi-events-transaction.o
CC qapi/qapi-events-ui.o
CC qapi/qapi-introspect.o
CC qapi/qapi-visit-core.o
CC qapi/qapi-dealloc-visitor.o
CC qapi/qobject-input-visitor.o
CC qapi/qobject-output-visitor.o
CC qapi/qmp-registry.o
CC qapi/qmp-dispatch.o
CC qapi/string-input-visitor.o
CC qapi/string-output-visitor.o
CC qapi/opts-visitor.o
CC qapi/qapi-clone-visitor.o
CC qapi/qmp-event.o
CC qapi/qapi-util.o
CC qobject/qnull.o
CC qobject/qnum.o
CC qobject/qstring.o
CC qobject/qdict.o
CC qobject/qlist.o
CC qobject/qbool.o
CC qobject/qlit.o
CC qobject/qjson.o
CC qobject/qobject.o
CC qobject/json-lexer.o
CC qobject/json-streamer.o
CC qobject/json-parser.o
CC qobject/block-qdict.o
CC trace/simple.o
CC trace/control.o
CC trace/qmp.o
CC util/osdep.o
CC util/cutils.o
CC util/unicode.o
CC util/qemu-timer-common.o
CC util/bufferiszero.o
CC util/lockcnt.o
CC util/aiocb.o
CC util/async.o
CC util/aio-wait.o
CC util/thread-pool.o
CC util/qemu-timer.o
CC util/main-loop.o
CC util/iohandler.o
CC util/aio-win32.o
CC util/event_notifier-win32.o
CC util/oslib-win32.o
CC util/qemu-thread-win32.o
CC util/envlist.o
CC util/path.o
CC util/module.o
CC util/host-utils.o
CC util/bitmap.o
CC util/bitops.o
CC util/hbitmap.o
CC util/fifo8.o
CC util/acl.o
CC util/cacheinfo.o
CC util/error.o
CC util/qemu-error.o
CC util/id.o
CC util/iov.o
CC util/qemu-config.o
CC util/qemu-sockets.o
CC util/uri.o
CC util/notify.o
CC util/qemu-option.o
CC util/qemu-progress.o
CC util/keyval.o
CC util/hexdump.o
CC util/crc32c.o
CC util/uuid.o
CC util/throttle.o
CC util/getauxval.o
CC util/readline.o
CC util/rcu.o
CC util/qemu-coroutine.o
CC util/qemu-coroutine-lock.o
CC util/qemu-coroutine-io.o
CC util/qemu-coroutine-sleep.o
CC util/coroutine-win32.o
CC util/buffer.o
CC util/timed-average.o
CC util/base64.o
CC util/log.o
CC util/pagesize.o
CC util/qdist.o
CC util/qht.o
CC util/qsp.o
CC util/range.o
CC util/stats64.o
CC util/systemd.o
CC util/iova-tree.o
CC trace-root.o
CC accel/kvm/trace.o
CC accel/tcg/trace.o
CC audio/trace.o
CC block/trace.o
CC chardev/trace.o
CC crypto/trace.o
CC hw/9pfs/trace.o
CC hw/acpi/trace.o
CC hw/alpha/trace.o
CC hw/arm/trace.o
CC hw/audio/trace.o
CC hw/block/trace.o
CC hw/block/dataplane/trace.o
CC hw/char/trace.o
CC hw/display/trace.o
CC hw/dma/trace.o
CC hw/hppa/trace.o
CC hw/i2c/trace.o
CC hw/i386/trace.o
CC hw/i386/xen/trace.o
CC hw/ide/trace.o
CC hw/input/trace.o
CC hw/intc/trace.o
CC hw/isa/trace.o
CC hw/mem/trace.o
CC hw/misc/trace.o
CC hw/misc/macio/trace.o
CC hw/net/trace.o
CC hw/nvram/trace.o
CC hw/pci/trace.o
CC hw/pci-host/trace.o
CC hw/ppc/trace.o
CC hw/rdma/trace.o
CC hw/rdma/vmw/trace.o
CC hw/s390x/trace.o
CC hw/scsi/trace.o
CC hw/sd/trace.o
CC hw/sparc/trace.o
CC hw/sparc64/trace.o
CC hw/timer/trace.o
CC hw/tpm/trace.o
CC hw/usb/trace.o
CC hw/vfio/trace.o
CC hw/virtio/trace.o
CC hw/watchdog/trace.o
CC hw/xen/trace.o
CC io/trace.o
CC linux-user/trace.o
CC migration/trace.o
CC nbd/trace.o
CC net/trace.o
CC qapi/trace.o
CC qom/trace.o
CC scsi/trace.o
CC target/arm/trace.o
CC target/i386/trace.o
CC target/mips/trace.o
CC target/ppc/trace.o
CC target/s390x/trace.o
CC target/sparc/trace.o
CC ui/trace.o
CC util/trace.o
CC crypto/pbkdf-stub.o
CC stubs/arch-query-cpu-def.o
CC stubs/arch-query-cpu-model-expansion.o
CC stubs/arch-query-cpu-model-comparison.o
CC stubs/arch-query-cpu-model-baseline.o
CC stubs/bdrv-next-monitor-owned.o
CC stubs/blk-commit-all.o
CC stubs/blockdev-close-all-bdrv-states.o
CC stubs/clock-warp.o
CC stubs/cpu-get-clock.o
CC stubs/cpu-get-icount.o
CC stubs/dump.o
CC stubs/error-printf.o
CC stubs/fdset.o
CC stubs/gdbstub.o
CC stubs/get-vm-name.o
CC stubs/iothread.o
CC stubs/iothread-lock.o
CC stubs/is-daemonized.o
CC stubs/machine-init-done.o
CC stubs/migr-blocker.o
CC stubs/change-state-handler.o
CC stubs/monitor.o
CC stubs/notify-event.o
CC stubs/qtest.o
CC stubs/replay.o
CC stubs/runstate-check.o
CC stubs/set-fd-handler.o
CC stubs/slirp.o
CC stubs/sysbus.o
CC stubs/tpm.o
CC stubs/trace-control.o
CC stubs/uuid.o
CC stubs/vm-stop.o
CC stubs/vmstate.o
CC stubs/fd-register.o
CC stubs/qmp_memory_device.o
CC stubs/target-monitor-defs.o
CC stubs/target-get-monitor-def.o
CC stubs/pc_madt_cpu_entry.o
CC stubs/vmgenid.o
CC stubs/xen-common.o
CC stubs/xen-hvm.o
CC stubs/pci-host-piix.o
CC stubs/ram-block.o
CC stubs/ramfb.o
GEN qemu-img-cmds.h
CC block.o
CC blockjob.o
CC job.o
CC qemu-io-cmds.o
CC replication.o
CC block/raw-format.o
CC block/vmdk.o
CC block/vpc.o
CC block/qcow.o
CC block/vdi.o
CC block/cloop.o
CC block/bochs.o
CC block/vvfat.o
CC block/dmg.o
CC block/qcow2.o
CC block/qcow2-refcount.o
CC block/qcow2-cluster.o
CC block/qcow2-snapshot.o
CC block/qcow2-cache.o
CC block/qcow2-bitmap.o
CC block/qed.o
CC block/qed-l2-cache.o
CC block/qed-table.o
CC block/qed-cluster.o
CC block/qed-check.o
CC block/vhdx.o
CC block/vhdx-endian.o
CC block/vhdx-log.o
CC block/quorum.o
CC block/blkdebug.o
CC block/blkverify.o
CC block/blkreplay.o
CC block/parallels.o
CC block/blklogwrites.o
CC block/block-backend.o
CC block/snapshot.o
CC block/qapi.o
CC block/file-win32.o
CC block/win32-aio.o
CC block/null.o
CC block/mirror.o
CC block/commit.o
CC block/io.o
CC block/create.o
CC block/throttle-groups.o
CC block/nbd.o
CC block/nbd-client.o
CC block/sheepdog.o
CC block/accounting.o
CC block/dirty-bitmap.o
CC block/write-threshold.o
CC block/backup.o
CC block/replication.o
CC block/throttle.o
CC block/copy-on-read.o
CC block/crypto.o
CC nbd/server.o
CC nbd/client.o
CC nbd/common.o
CC scsi/utils.o
CC scsi/pr-manager-stub.o
CC block/curl.o
CC block/ssh.o
CC block/dmg-bz2.o
CC crypto/init.o
CC crypto/hash.o
CC crypto/hash-nettle.o
CC crypto/hmac.o
CC crypto/hmac-nettle.o
CC crypto/aes.o
CC crypto/desrfb.o
CC crypto/cipher.o
CC crypto/tlscreds.o
CC crypto/tlscredsanon.o
CC crypto/tlscredspsk.o
CC crypto/tlscredsx509.o
CC crypto/tlssession.o
CC crypto/secret.o
CC crypto/random-gnutls.o
CC crypto/pbkdf.o
CC crypto/pbkdf-nettle.o
CC crypto/ivgen.o
CC crypto/ivgen-essiv.o
CC crypto/ivgen-plain.o
CC crypto/ivgen-plain64.o
CC crypto/afsplit.o
CC crypto/xts.o
CC crypto/block.o
CC crypto/block-qcow.o
CC crypto/block-luks.o
CC io/channel.o
CC io/channel-buffer.o
CC io/channel-command.o
CC io/channel-file.o
CC io/channel-socket.o
CC io/channel-tls.o
CC io/channel-watch.o
CC io/channel-websock.o
CC io/channel-util.o
CC io/dns-resolver.o
CC io/net-listener.o
CC io/task.o
CC qom/object.o
CC qom/container.o
CC qom/qom-qobject.o
CC qom/object_interfaces.o
CC qemu-io.o
CC qemu-edid.o
CC hw/display/edid-generate.o
CC blockdev.o
CC blockdev-nbd.o
CC bootdevice.o
CC iothread.o
CC job-qmp.o
CC qdev-monitor.o
CC device-hotplug.o
CC os-win32.o
CC bt-host.o
CC bt-vhci.o
CC dma-helpers.o
CC vl.o
CC tpm.o
CC device_tree.o
CC qapi/qapi-commands.o
CC qapi/qapi-commands-block-core.o
CC qapi/qapi-commands-block.o
CC qapi/qapi-commands-char.o
CC qapi/qapi-commands-common.o
CC qapi/qapi-commands-crypto.o
CC qapi/qapi-commands-introspect.o
CC qapi/qapi-commands-job.o
CC qapi/qapi-commands-migration.o
CC qapi/qapi-commands-misc.o
CC qapi/qapi-commands-net.o
CC qapi/qapi-commands-rocker.o
CC qapi/qapi-commands-run-state.o
CC qapi/qapi-commands-sockets.o
CC qapi/qapi-commands-tpm.o
CC qapi/qapi-commands-trace.o
CC qapi/qapi-commands-transaction.o
CC qapi/qapi-commands-ui.o
CC qmp.o
CC hmp.o
CC cpus-common.o
CC audio/audio.o
CC audio/noaudio.o
CC audio/wavaudio.o
CC audio/mixeng.o
CC audio/dsoundaudio.o
CC audio/audio_win_int.o
CC audio/wavcapture.o
CC backends/rng.o
CC backends/rng-egd.o
CC backends/tpm.o
CC backends/hostmem.o
CC backends/hostmem-ram.o
CC backends/cryptodev.o
CC backends/cryptodev-builtin.o
CC backends/cryptodev-vhost.o
CC block/stream.o
CC chardev/msmouse.o
CC chardev/wctablet.o
CC chardev/testdev.o
CC disas/arm.o
CXX disas/arm-a64.o
CC disas/i386.o
CXX disas/libvixl/vixl/utils.o
CXX disas/libvixl/vixl/compiler-intrinsics.o
CXX disas/libvixl/vixl/a64/instructions-a64.o
CXX disas/libvixl/vixl/a64/decoder-a64.o
CXX disas/libvixl/vixl/a64/disasm-a64.o
CC hw/acpi/core.o
CC hw/acpi/piix4.o
CC hw/acpi/pcihp.o
CC hw/acpi/ich9.o
CC hw/acpi/tco.o
CC hw/acpi/cpu_hotplug.o
CC hw/acpi/memory_hotplug.o
CC hw/acpi/cpu.o
CC hw/acpi/nvdimm.o
CC hw/acpi/vmgenid.o
CC hw/acpi/acpi_interface.o
CC hw/acpi/bios-linker-loader.o
CC hw/acpi/aml-build.o
CC hw/acpi/ipmi.o
CC hw/acpi/acpi-stub.o
CC hw/acpi/ipmi-stub.o
CC hw/audio/sb16.o
CC hw/audio/es1370.o
CC hw/audio/ac97.o
CC hw/audio/fmopl.o
CC hw/audio/adlib.o
CC hw/audio/gus.o
CC hw/audio/gusemu_hal.o
CC hw/audio/gusemu_mixer.o
CC hw/audio/cs4231a.o
CC hw/audio/intel-hda.o
CC hw/audio/hda-codec.o
CC hw/audio/pcspk.o
CC hw/audio/wm8750.o
CC hw/audio/pl041.o
CC hw/audio/lm4549.o
CC hw/audio/marvell_88w8618.o
CC hw/audio/soundhw.o
CC hw/block/block.o
CC hw/block/cdrom.o
CC hw/block/hd-geometry.o
CC hw/block/fdc.o
CC hw/block/m25p80.o
CC hw/block/nand.o
CC hw/block/pflash_cfi01.o
CC hw/block/pflash_cfi02.o
CC hw/block/ecc.o
CC hw/block/onenand.o
CC hw/block/nvme.o
CC hw/bt/core.o
CC hw/bt/l2cap.o
CC hw/bt/sdp.o
CC hw/bt/hci.o
CC hw/bt/hid.o
CC hw/bt/hci-csr.o
CC hw/char/ipoctal232.o
CC hw/char/nrf51_uart.o
CC hw/char/parallel.o
CC hw/char/parallel-isa.o
CC hw/char/pl011.o
CC hw/char/serial.o
CC hw/char/serial-isa.o
CC hw/char/serial-pci.o
CC hw/char/virtio-console.o
CC hw/char/cadence_uart.o
CC hw/char/cmsdk-apb-uart.o
CC hw/char/debugcon.o
CC hw/char/imx_serial.o
CC hw/core/qdev.o
CC hw/core/qdev-properties.o
CC hw/core/bus.o
CC hw/core/reset.o
CC hw/core/qdev-fw.o
CC hw/core/fw-path-provider.o
CC hw/core/irq.o
CC hw/core/hotplug.o
CC hw/core/nmi.o
CC hw/core/stream.o
CC hw/core/ptimer.o
CC hw/core/sysbus.o
CC hw/core/machine.o
CC hw/core/loader.o
CC hw/core/qdev-properties-system.o
CC hw/core/register.o
CC hw/core/or-irq.o
CC hw/core/split-irq.o
CC hw/core/platform-bus.o
CC hw/core/generic-loader.o
CC hw/core/null-machine.o
CC hw/cpu/core.o
CC hw/display/ramfb.o
CC hw/display/ramfb-standalone.o
CC hw/display/ads7846.o
CC hw/display/cirrus_vga.o
CC hw/display/cirrus_vga_isa.o
CC hw/display/pl110.o
CC hw/display/sii9022.o
CC hw/display/ssd0303.o
CC hw/display/ssd0323.o
CC hw/display/vga-pci.o
CC hw/display/edid-region.o
CC hw/display/vga-isa.o
CC hw/display/vmware_vga.o
CC hw/display/bochs-display.o
CC hw/display/blizzard.o
CC hw/display/exynos4210_fimd.o
CC hw/display/framebuffer.o
CC hw/display/tc6393xb.o
CC hw/dma/pl080.o
CC hw/dma/pl330.o
CC hw/dma/i8257.o
CC hw/dma/xilinx_axidma.o
CC hw/dma/xlnx-zynq-devcfg.o
CC hw/dma/xlnx-zdma.o
CC hw/gpio/max7310.o
CC hw/gpio/pl061.o
CC hw/gpio/zaurus.o
CC hw/gpio/gpio_key.o
CC hw/i2c/core.o
CC hw/i2c/smbus.o
CC hw/i2c/smbus_eeprom.o
CC hw/i2c/i2c-ddc.o
CC hw/i2c/versatile_i2c.o
CC hw/i2c/smbus_ich9.o
CC hw/i2c/pm_smbus.o
CC hw/i2c/bitbang_i2c.o
CC hw/i2c/exynos4210_i2c.o
CC hw/i2c/imx_i2c.o
CC hw/i2c/aspeed_i2c.o
CC hw/ide/core.o
CC hw/ide/atapi.o
CC hw/ide/qdev.o
CC hw/ide/pci.o
CC hw/ide/isa.o
CC hw/ide/piix.o
CC hw/ide/microdrive.o
CC hw/ide/ahci.o
CC hw/ide/ich.o
CC hw/ide/ahci-allwinner.o
CC hw/input/hid.o
CC hw/input/lm832x.o
CC hw/input/pckbd.o
CC hw/input/pl050.o
CC hw/input/ps2.o
CC hw/input/stellaris_input.o
CC hw/input/tsc2005.o
CC hw/input/virtio-input.o
CC hw/input/virtio-input-hid.o
CC hw/intc/i8259_common.o
CC hw/intc/i8259.o
CC hw/intc/pl190.o
CC hw/intc/xlnx-pmu-iomod-intc.o
CC hw/intc/xlnx-zynqmp-ipi.o
CC hw/intc/imx_avic.o
CC hw/intc/imx_gpcv2.o
CC hw/intc/realview_gic.o
CC hw/intc/ioapic_common.o
CC hw/intc/arm_gic_common.o
CC hw/intc/arm_gic.o
CC hw/intc/arm_gicv2m.o
CC hw/intc/arm_gicv3_common.o
CC hw/intc/arm_gicv3.o
CC hw/intc/arm_gicv3_dist.o
CC hw/intc/arm_gicv3_redist.o
CC hw/intc/arm_gicv3_its_common.o
CC hw/intc/intc.o
CC hw/ipack/ipack.o
CC hw/ipack/tpci200.o
CC hw/ipmi/ipmi.o
CC hw/ipmi/ipmi_bmc_sim.o
CC hw/ipmi/ipmi_bmc_extern.o
CC hw/ipmi/isa_ipmi_kcs.o
CC hw/ipmi/isa_ipmi_bt.o
CC hw/isa/isa-bus.o
CC hw/isa/isa-superio.o
CC hw/isa/apm.o
CC hw/mem/pc-dimm.o
CC hw/mem/memory-device.o
CC hw/mem/nvdimm.o
CC hw/misc/applesmc.o
CC hw/misc/max111x.o
CC hw/misc/tmp105.o
CC hw/misc/tmp421.o
CC hw/misc/debugexit.o
CC hw/misc/sga.o
CC hw/misc/pc-testdev.o
CC hw/misc/pci-testdev.o
CC hw/misc/edu.o
CC hw/misc/pca9552.o
CC hw/misc/unimp.o
CC hw/misc/vmcoreinfo.o
CC hw/misc/arm_l2x0.o
CC hw/misc/arm_integrator_debug.o
CC hw/misc/a9scu.o
CC hw/misc/arm11scu.o
CC hw/net/ne2000.o
CC hw/net/eepro100.o
CC hw/net/pcnet-pci.o
CC hw/net/pcnet.o
CC hw/net/e1000.o
CC hw/net/e1000x_common.o
CC hw/net/net_tx_pkt.o
CC hw/net/net_rx_pkt.o
CC hw/net/e1000e.o
CC hw/net/e1000e_core.o
CC hw/net/rtl8139.o
CC hw/net/vmxnet3.o
CC hw/net/smc91c111.o
CC hw/net/lan9118.o
CC hw/net/xgmac.o
CC hw/net/ne2000-isa.o
CC hw/net/xilinx_axienet.o
CC hw/net/allwinner_emac.o
CC hw/net/imx_fec.o
CC hw/net/cadence_gem.o
CC hw/net/stellaris_enet.o
CC hw/net/ftgmac100.o
CC hw/net/rocker/rocker.o
CC hw/net/rocker/rocker_fp.o
CC hw/net/rocker/rocker_desc.o
CC hw/net/rocker/rocker_world.o
CC hw/net/rocker/rocker_of_dpa.o
CC hw/net/can/can_sja1000.o
CC hw/net/can/can_kvaser_pci.o
CC hw/net/can/can_pcm3680_pci.o
CC hw/net/can/can_mioe3680_pci.o
CC hw/nvram/eeprom93xx.o
CC hw/nvram/fw_cfg.o
CC hw/nvram/chrp_nvram.o
CC hw/pci-bridge/pci_bridge_dev.o
CC hw/pci-bridge/pcie_root_port.o
CC hw/pci-bridge/gen_pcie_root_port.o
CC hw/pci-bridge/pcie_pci_bridge.o
CC hw/pci-bridge/pci_expander_bridge.o
CC hw/pci-bridge/xio3130_upstream.o
CC hw/pci-bridge/xio3130_downstream.o
CC hw/pci-bridge/ioh3420.o
CC hw/pci-bridge/i82801b11.o
CC hw/pci-host/pam.o
CC hw/pci-host/versatile.o
CC hw/pci-host/piix.o
CC hw/pci-host/q35.o
CC hw/pci-host/gpex.o
CC hw/pci-host/designware.o
CC hw/pci/pci.o
CC hw/pci/pci_bridge.o
CC hw/pci/msix.o
CC hw/pci/msi.o
CC hw/pci/shpc.o
CC hw/pci/slotid_cap.o
CC hw/pci/pci_host.o
CC hw/pci/pcie_host.o
CC hw/pci/pcie.o
CC hw/pci/pcie_aer.o
CC hw/pci/pcie_port.o
CC hw/pci/pci-stub.o
CC hw/pcmcia/pcmcia.o
CC hw/scsi/scsi-disk.o
CC hw/scsi/emulation.o
CC hw/scsi/scsi-generic.o
CC hw/scsi/scsi-bus.o
CC hw/scsi/lsi53c895a.o
CC hw/scsi/mptsas.o
CC hw/scsi/mptconfig.o
CC hw/scsi/mptendian.o
CC hw/scsi/megasas.o
CC hw/scsi/vmw_pvscsi.o
CC hw/scsi/esp.o
CC hw/scsi/esp-pci.o
CC hw/sd/pl181.o
CC hw/sd/ssi-sd.o
CC hw/sd/sd.o
CC hw/sd/core.o
CC hw/sd/sdmmc-internal.o
CC hw/sd/sdhci.o
CC hw/smbios/smbios.o
CC hw/smbios/smbios_type_38.o
CC hw/smbios/smbios-stub.o
CC hw/smbios/smbios_type_38-stub.o
CC hw/ssi/pl022.o
CC hw/ssi/ssi.o
CC hw/ssi/xilinx_spips.o
CC hw/ssi/aspeed_smc.o
CC hw/ssi/stm32f2xx_spi.o
CC hw/ssi/mss-spi.o
CC hw/timer/arm_timer.o
CC hw/timer/arm_mptimer.o
CC hw/timer/armv7m_systick.o
CC hw/timer/a9gtimer.o
CC hw/timer/cadence_ttc.o
CC hw/timer/ds1338.o
CC hw/timer/hpet.o
CC hw/timer/i8254_common.o
CC hw/timer/i8254.o
CC hw/timer/pl031.o
CC hw/timer/twl92230.o
CC hw/timer/imx_epit.o
CC hw/timer/imx_gpt.o
CC hw/timer/xlnx-zynqmp-rtc.o
CC hw/timer/stm32f2xx_timer.o
CC hw/timer/aspeed_timer.o
CC hw/timer/cmsdk-apb-timer.o
CC hw/timer/cmsdk-apb-dualtimer.o
CC hw/timer/mss-timer.o
CC hw/tpm/tpm_util.o
CC hw/tpm/tpm_tis.o
CC hw/tpm/tpm_crb.o
CC hw/usb/core.o
CC hw/usb/combined-packet.o
CC hw/usb/bus.o
CC hw/usb/libhw.o
CC hw/usb/desc.o
CC hw/usb/desc-msos.o
CC hw/usb/hcd-uhci.o
CC hw/usb/hcd-ohci.o
CC hw/usb/hcd-ehci.o
CC hw/usb/hcd-ehci-pci.o
CC hw/usb/hcd-ehci-sysbus.o
CC hw/usb/hcd-xhci.o
CC hw/usb/hcd-xhci-nec.o
CC hw/usb/hcd-musb.o
CC hw/usb/dev-hub.o
CC hw/usb/dev-hid.o
CC hw/usb/dev-wacom.o
CC hw/usb/dev-storage.o
CC hw/usb/dev-uas.o
CC hw/usb/dev-audio.o
CC hw/usb/dev-serial.o
CC hw/usb/dev-network.o
CC hw/usb/dev-bluetooth.o
CC hw/usb/dev-smartcard-reader.o
CC hw/usb/host-stub.o
CC hw/virtio/virtio-bus.o
CC hw/virtio/virtio-rng.o
CC hw/virtio/virtio-pci.o
CC hw/virtio/virtio-mmio.o
CC hw/virtio/vhost-stub.o
CC hw/watchdog/watchdog.o
CC hw/watchdog/cmsdk-apb-watchdog.o
CC hw/watchdog/wdt_i6300esb.o
CC hw/watchdog/wdt_ib700.o
CC hw/watchdog/wdt_aspeed.o
CC migration/migration.o
CC migration/socket.o
CC migration/fd.o
CC migration/exec.o
CC migration/tls.o
CC migration/channel.o
CC migration/savevm.o
CC migration/colo.o
CC migration/colo-failover.o
CC migration/vmstate.o
CC migration/vmstate-types.o
CC migration/page_cache.o
CC migration/qemu-file.o
CC migration/global_state.o
CC migration/qemu-file-channel.o
CC migration/xbzrle.o
CC migration/postcopy-ram.o
CC migration/qjson.o
CC migration/block-dirty-bitmap.o
CC migration/block.o
CC net/net.o
CC net/queue.o
CC net/checksum.o
CC net/util.o
CC net/hub.o
CC net/socket.o
CC net/dump.o
CC net/eth.o
CC net/slirp.o
CC net/filter.o
CC net/filter-buffer.o
CC net/filter-mirror.o
CC net/colo-compare.o
CC net/colo.o
CC net/filter-rewriter.o
CC net/filter-replay.o
CC net/tap-win32.o
CC net/can/can_core.o
CC net/can/can_host.o
CC qom/cpu.o
CC replay/replay.o
CC replay/replay-internal.o
CC replay/replay-events.o
CC replay/replay-time.o
CC replay/replay-input.o
CC replay/replay-char.o
CC replay/replay-snapshot.o
CC replay/replay-net.o
CC replay/replay-audio.o
CC slirp/cksum.o
CC slirp/if.o
CC slirp/ip_icmp.o
CC slirp/ip6_icmp.o
CC slirp/ip6_input.o
CC slirp/ip6_output.o
CC slirp/ip_input.o
CC slirp/ip_output.o
CC slirp/dnssearch.o
CC slirp/dhcpv6.o
CC slirp/slirp.o
CC slirp/mbuf.o
CC slirp/misc.o
CC slirp/sbuf.o
CC slirp/socket.o
CC slirp/tcp_input.o
CC slirp/tcp_output.o
CC slirp/tcp_subr.o
CC slirp/tcp_timer.o
CC slirp/udp.o
CC slirp/udp6.o
CC slirp/bootp.o
CC slirp/tftp.o
CC slirp/arp_table.o
CC slirp/ndp_table.o
CC slirp/ncsi.o
CC ui/keymaps.o
CC ui/console.o
CC ui/cursor.o
CC ui/qemu-pixman.o
CC ui/input.o
CC ui/input-keymap.o
CC ui/input-legacy.o
CC ui/vnc.o
CC ui/vnc-enc-zlib.o
CC ui/vnc-enc-hextile.o
CC ui/vnc-enc-tight.o
CC ui/vnc-palette.o
CC ui/vnc-enc-zrle.o
CC ui/vnc-auth-vencrypt.o
CC ui/vnc-ws.o
CC ui/vnc-jobs.o
CC ui/sdl2.o
CC ui/sdl2-input.o
CC ui/sdl2-2d.o
CC ui/gtk.o
CC chardev/char.o
CC chardev/char-console.o
CC chardev/char-fe.o
CC chardev/char-file.o
CC chardev/char-io.o
CC chardev/char-mux.o
CC chardev/char-null.o
CC chardev/char-pipe.o
CC chardev/char-ringbuf.o
CC chardev/char-serial.o
CC chardev/char-socket.o
CC chardev/char-stdio.o
CC chardev/char-udp.o
CC chardev/char-win.o
CC chardev/char-win-stdio.o
AS optionrom/multiboot.o
AS optionrom/linuxboot.o
CC optionrom/linuxboot_dma.o
AS optionrom/kvmvapic.o
CC qga/commands.o
BUILD optionrom/multiboot.img
BUILD optionrom/linuxboot.img
BUILD optionrom/linuxboot_dma.img
BUILD optionrom/kvmvapic.img
BUILD optionrom/multiboot.raw
BUILD optionrom/linuxboot_dma.raw
BUILD optionrom/linuxboot.raw
BUILD optionrom/kvmvapic.raw
SIGN optionrom/multiboot.bin
SIGN optionrom/linuxboot.bin
SIGN optionrom/linuxboot_dma.bin
CC qga/guest-agent-command-state.o
SIGN optionrom/kvmvapic.bin
CC qga/main.o
CC qga/commands-win32.o
CC qga/channel-win32.o
CC qga/service-win32.o
CC qga/vss-win32.o
CC qga/qapi-generated/qga-qapi-types.o
CC qga/qapi-generated/qga-qapi-visit.o
CC qga/qapi-generated/qga-qapi-commands.o
AR libqemuutil.a
CC qemu-img.o
LINK qemu-io.exe
LINK qemu-edid.exe
GEN aarch64-softmmu/hmp-commands.h
GEN aarch64-softmmu/hmp-commands-info.h
GEN aarch64-softmmu/config-target.h
GEN x86_64-softmmu/config-target.h
GEN x86_64-softmmu/hmp-commands.h
GEN x86_64-softmmu/hmp-commands-info.h
CC aarch64-softmmu/exec.o
CC aarch64-softmmu/tcg/tcg-op-vec.o
CC aarch64-softmmu/tcg/tcg.o
CC aarch64-softmmu/tcg/tcg-op.o
CC aarch64-softmmu/tcg/tcg-op-gvec.o
CC x86_64-softmmu/exec.o
CC aarch64-softmmu/tcg/tcg-common.o
LINK qemu-img.exe
CC aarch64-softmmu/tcg/optimize.o
CC x86_64-softmmu/tcg/tcg.o
CC x86_64-softmmu/tcg/tcg-op.o
CC x86_64-softmmu/tcg/tcg-op-vec.o
CC aarch64-softmmu/disas.o
CC aarch64-softmmu/fpu/softfloat.o
LINK qemu-ga.exe
CC x86_64-softmmu/tcg/tcg-op-gvec.o
GEN aarch64-softmmu/gdbstub-xml.c
CC x86_64-softmmu/tcg/tcg-common.o
CC aarch64-softmmu/arch_init.o
CC aarch64-softmmu/cpus.o
CC x86_64-softmmu/tcg/optimize.o
CC x86_64-softmmu/fpu/softfloat.o
CC x86_64-softmmu/disas.o
GEN x86_64-softmmu/gdbstub-xml.c
CC aarch64-softmmu/monitor.o
CC x86_64-softmmu/arch_init.o
CC aarch64-softmmu/gdbstub.o
CC aarch64-softmmu/balloon.o
CC x86_64-softmmu/cpus.o
CC aarch64-softmmu/ioport.o
CC x86_64-softmmu/monitor.o
CC x86_64-softmmu/gdbstub.o
CC x86_64-softmmu/balloon.o
CC x86_64-softmmu/ioport.o
CC x86_64-softmmu/numa.o
CC aarch64-softmmu/numa.o
CC x86_64-softmmu/qtest.o
CC aarch64-softmmu/qtest.o
CC aarch64-softmmu/memory.o
CC x86_64-softmmu/memory.o
CC aarch64-softmmu/memory_mapping.o
CC x86_64-softmmu/memory_mapping.o
CC x86_64-softmmu/dump.o
CC aarch64-softmmu/dump.o
CC aarch64-softmmu/migration/ram.o
CC x86_64-softmmu/win_dump.o
CC x86_64-softmmu/migration/ram.o
CC x86_64-softmmu/accel/accel.o
CC aarch64-softmmu/accel/accel.o
CC x86_64-softmmu/accel/stubs/hvf-stub.o
CC aarch64-softmmu/accel/stubs/hax-stub.o
CC x86_64-softmmu/accel/stubs/whpx-stub.o
CC aarch64-softmmu/accel/stubs/hvf-stub.o
CC aarch64-softmmu/accel/stubs/whpx-stub.o
CC x86_64-softmmu/accel/stubs/kvm-stub.o
CC x86_64-softmmu/accel/tcg/tcg-all.o
CC aarch64-softmmu/accel/stubs/kvm-stub.o
CC aarch64-softmmu/accel/tcg/tcg-all.o
CC aarch64-softmmu/accel/tcg/cputlb.o
CC x86_64-softmmu/accel/tcg/cputlb.o
CC x86_64-softmmu/accel/tcg/tcg-runtime.o
CC aarch64-softmmu/accel/tcg/tcg-runtime.o
CC x86_64-softmmu/accel/tcg/tcg-runtime-gvec.o
CC aarch64-softmmu/accel/tcg/tcg-runtime-gvec.o
CC x86_64-softmmu/accel/tcg/cpu-exec.o
CC aarch64-softmmu/accel/tcg/cpu-exec.o
CC x86_64-softmmu/accel/tcg/cpu-exec-common.o
CC x86_64-softmmu/accel/tcg/translate-all.o
CC aarch64-softmmu/accel/tcg/translate-all.o
CC aarch64-softmmu/accel/tcg/cpu-exec-common.o
CC x86_64-softmmu/accel/tcg/translator.o
CC aarch64-softmmu/accel/tcg/translator.o
CC aarch64-softmmu/hw/adc/stm32f2xx_adc.o
CC x86_64-softmmu/hw/block/virtio-blk.o
CC aarch64-softmmu/hw/block/virtio-blk.o
CC aarch64-softmmu/hw/block/dataplane/virtio-blk.o
CC x86_64-softmmu/hw/block/dataplane/virtio-blk.o
CC aarch64-softmmu/hw/char/exynos4210_uart.o
CC x86_64-softmmu/hw/char/virtio-serial-bus.o
CC aarch64-softmmu/hw/char/omap_uart.o
CC aarch64-softmmu/hw/char/digic-uart.o
CC x86_64-softmmu/hw/display/vga.o
CC aarch64-softmmu/hw/char/stm32f2xx_usart.o
CC aarch64-softmmu/hw/char/bcm2835_aux.o
CC x86_64-softmmu/hw/display/virtio-gpu.o
CC aarch64-softmmu/hw/char/virtio-serial-bus.o
CC x86_64-softmmu/hw/display/virtio-gpu-3d.o
CC aarch64-softmmu/hw/cpu/arm11mpcore.o
CC aarch64-softmmu/hw/cpu/realview_mpcore.o
CC aarch64-softmmu/hw/cpu/a9mpcore.o
CC x86_64-softmmu/hw/display/virtio-gpu-pci.o
CC x86_64-softmmu/hw/display/virtio-vga.o
CC aarch64-softmmu/hw/cpu/a15mpcore.o
CC x86_64-softmmu/hw/intc/apic.o
CC x86_64-softmmu/hw/intc/apic_common.o
CC aarch64-softmmu/hw/display/omap_dss.o
CC aarch64-softmmu/hw/display/omap_lcdc.o
CC x86_64-softmmu/hw/intc/ioapic.o
CC x86_64-softmmu/hw/isa/lpc_ich9.o
CC x86_64-softmmu/hw/misc/pvpanic.o
CC aarch64-softmmu/hw/display/pxa2xx_lcd.o
CC x86_64-softmmu/hw/net/virtio-net.o
CC x86_64-softmmu/hw/net/vhost_net.o
CC aarch64-softmmu/hw/display/bcm2835_fb.o
CC x86_64-softmmu/hw/scsi/virtio-scsi.o
CC aarch64-softmmu/hw/display/vga.o
CC x86_64-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC x86_64-softmmu/hw/timer/mc146818rtc.o
CC aarch64-softmmu/hw/display/virtio-gpu.o
CC x86_64-softmmu/hw/virtio/virtio.o
CC aarch64-softmmu/hw/display/virtio-gpu-3d.o
CC x86_64-softmmu/hw/virtio/virtio-balloon.o
CC x86_64-softmmu/hw/virtio/virtio-crypto.o
CC aarch64-softmmu/hw/display/virtio-gpu-pci.o
CC x86_64-softmmu/hw/virtio/virtio-crypto-pci.o
CC aarch64-softmmu/hw/display/dpcd.o
CC aarch64-softmmu/hw/display/xlnx_dp.o
CC aarch64-softmmu/hw/dma/xlnx_dpdma.o
CC aarch64-softmmu/hw/dma/omap_dma.o
CC aarch64-softmmu/hw/dma/soc_dma.o
CC aarch64-softmmu/hw/dma/pxa2xx_dma.o
CC x86_64-softmmu/hw/i386/multiboot.o
CC x86_64-softmmu/hw/i386/pc.o
CC aarch64-softmmu/hw/dma/bcm2835_dma.o
CC x86_64-softmmu/hw/i386/pc_piix.o
CC aarch64-softmmu/hw/gpio/omap_gpio.o
CC aarch64-softmmu/hw/gpio/imx_gpio.o
CC x86_64-softmmu/hw/i386/pc_q35.o
CC aarch64-softmmu/hw/gpio/bcm2835_gpio.o
CC x86_64-softmmu/hw/i386/pc_sysfw.o
CC aarch64-softmmu/hw/i2c/omap_i2c.o
CC aarch64-softmmu/hw/input/pxa2xx_keypad.o
CC aarch64-softmmu/hw/input/tsc210x.o
CC aarch64-softmmu/hw/intc/armv7m_nvic.o
CC x86_64-softmmu/hw/i386/amd_iommu.o
CC x86_64-softmmu/hw/i386/x86-iommu.o
CC x86_64-softmmu/hw/i386/intel_iommu.o
CC aarch64-softmmu/hw/intc/exynos4210_gic.o
CC aarch64-softmmu/hw/intc/exynos4210_combiner.o
CC x86_64-softmmu/hw/i386/vmport.o
CC aarch64-softmmu/hw/intc/omap_intc.o
CC aarch64-softmmu/hw/intc/bcm2835_ic.o
CC aarch64-softmmu/hw/intc/bcm2836_control.o
CC x86_64-softmmu/hw/i386/vmmouse.o
CC x86_64-softmmu/hw/i386/kvmvapic.o
CC aarch64-softmmu/hw/intc/allwinner-a10-pic.o
CC x86_64-softmmu/hw/i386/acpi-build.o
CC x86_64-softmmu/target/i386/helper.o
CC aarch64-softmmu/hw/intc/aspeed_vic.o
CC x86_64-softmmu/target/i386/cpu.o
CC aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o
CC aarch64-softmmu/hw/misc/arm_sysctl.o
CC aarch64-softmmu/hw/misc/cbus.o
CC aarch64-softmmu/hw/misc/exynos4210_pmu.o
CC x86_64-softmmu/target/i386/gdbstub.o
CC aarch64-softmmu/hw/misc/exynos4210_clk.o
CC aarch64-softmmu/hw/misc/exynos4210_rng.o
CC x86_64-softmmu/target/i386/xsave_helper.o
CC x86_64-softmmu/target/i386/translate.o
CC x86_64-softmmu/target/i386/bpt_helper.o
CC x86_64-softmmu/target/i386/cc_helper.o
CC aarch64-softmmu/hw/misc/imx_ccm.o
CC aarch64-softmmu/hw/misc/imx31_ccm.o
CC aarch64-softmmu/hw/misc/imx25_ccm.o
CC aarch64-softmmu/hw/misc/imx6_ccm.o
CC x86_64-softmmu/target/i386/excp_helper.o
CC aarch64-softmmu/hw/misc/imx6_src.o
CC aarch64-softmmu/hw/misc/imx6ul_ccm.o
CC x86_64-softmmu/target/i386/fpu_helper.o
CC aarch64-softmmu/hw/misc/imx7_ccm.o
CC x86_64-softmmu/target/i386/int_helper.o
CC aarch64-softmmu/hw/misc/imx2_wdt.o
CC aarch64-softmmu/hw/misc/imx7_snvs.o
CC aarch64-softmmu/hw/misc/imx7_gpr.o
CC x86_64-softmmu/target/i386/mem_helper.o
CC aarch64-softmmu/hw/misc/mst_fpga.o
CC x86_64-softmmu/target/i386/misc_helper.o
CC x86_64-softmmu/target/i386/mpx_helper.o
CC aarch64-softmmu/hw/misc/omap_gpmc.o
CC aarch64-softmmu/hw/misc/omap_clk.o
CC x86_64-softmmu/target/i386/seg_helper.o
CC aarch64-softmmu/hw/misc/omap_l4.o
CC x86_64-softmmu/target/i386/smm_helper.o
CC aarch64-softmmu/hw/misc/omap_sdrc.o
CC aarch64-softmmu/hw/misc/omap_tap.o
CC x86_64-softmmu/target/i386/svm_helper.o
CC aarch64-softmmu/hw/misc/bcm2835_mbox.o
CC x86_64-softmmu/target/i386/machine.o
CC x86_64-softmmu/target/i386/arch_memory_mapping.o
CC aarch64-softmmu/hw/misc/bcm2835_property.o
CC x86_64-softmmu/target/i386/arch_dump.o
CC aarch64-softmmu/hw/misc/bcm2835_rng.o
CC aarch64-softmmu/hw/misc/zynq_slcr.o
CC x86_64-softmmu/target/i386/monitor.o
CC x86_64-softmmu/target/i386/kvm-stub.o
CC x86_64-softmmu/target/i386/hyperv-stub.o
CC aarch64-softmmu/hw/misc/zynq-xadc.o
CC x86_64-softmmu/target/i386/hax-all.o
CC x86_64-softmmu/target/i386/hax-mem.o
CC x86_64-softmmu/target/i386/hax-windows.o
CC aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
CC x86_64-softmmu/target/i386/sev-stub.o
GEN trace/generated-helpers.c
CC x86_64-softmmu/trace/control-target.o
CC aarch64-softmmu/hw/misc/mps2-fpgaio.o
CC x86_64-softmmu/gdbstub-xml.o
CC aarch64-softmmu/hw/misc/mps2-scc.o
CC x86_64-softmmu/trace/generated-helpers.o
CC aarch64-softmmu/hw/misc/tz-mpc.o
CC aarch64-softmmu/hw/misc/tz-msc.o
CC aarch64-softmmu/hw/misc/tz-ppc.o
CC aarch64-softmmu/hw/misc/iotkit-secctl.o
CC aarch64-softmmu/hw/misc/iotkit-sysctl.o
CC aarch64-softmmu/hw/misc/iotkit-sysinfo.o
CC aarch64-softmmu/hw/misc/auxbus.o
CC aarch64-softmmu/hw/misc/aspeed_scu.o
LINK x86_64-softmmu/qemu-system-x86_64w.exe
CC aarch64-softmmu/hw/misc/aspeed_sdmc.o
CC aarch64-softmmu/hw/misc/msf2-sysreg.o
CC aarch64-softmmu/hw/net/virtio-net.o
CC aarch64-softmmu/hw/net/vhost_net.o
CC aarch64-softmmu/hw/pcmcia/pxa2xx.o
CC aarch64-softmmu/hw/scsi/virtio-scsi.o
CC aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC aarch64-softmmu/hw/sd/omap_mmc.o
CC aarch64-softmmu/hw/sd/pxa2xx_mmci.o
CC aarch64-softmmu/hw/sd/bcm2835_sdhost.o
CC aarch64-softmmu/hw/ssi/omap_spi.o
GEN x86_64-softmmu/qemu-system-x86_64.exe
CC aarch64-softmmu/hw/ssi/imx_spi.o
CC aarch64-softmmu/hw/timer/exynos4210_mct.o
CC aarch64-softmmu/hw/timer/exynos4210_pwm.o
CC aarch64-softmmu/hw/timer/exynos4210_rtc.o
CC aarch64-softmmu/hw/timer/omap_gptimer.o
CC aarch64-softmmu/hw/timer/omap_synctimer.o
CC aarch64-softmmu/hw/timer/pxa2xx_timer.o
CC aarch64-softmmu/hw/timer/digic-timer.o
CC aarch64-softmmu/hw/timer/allwinner-a10-pit.o
CC aarch64-softmmu/hw/usb/tusb6010.o
CC aarch64-softmmu/hw/usb/chipidea.o
CC aarch64-softmmu/hw/virtio/virtio.o
CC aarch64-softmmu/hw/virtio/virtio-balloon.o
CC aarch64-softmmu/hw/virtio/virtio-crypto.o
CC aarch64-softmmu/hw/virtio/virtio-crypto-pci.o
CC aarch64-softmmu/hw/arm/boot.o
CC aarch64-softmmu/hw/arm/virt.o
CC aarch64-softmmu/hw/arm/sysbus-fdt.o
CC aarch64-softmmu/hw/arm/virt-acpi-build.o
CC aarch64-softmmu/hw/arm/digic_boards.o
CC aarch64-softmmu/hw/arm/exynos4_boards.o
CC aarch64-softmmu/hw/arm/highbank.o
CC aarch64-softmmu/hw/arm/integratorcp.o
CC aarch64-softmmu/hw/arm/mainstone.o
CC aarch64-softmmu/hw/arm/musicpal.o
CC aarch64-softmmu/hw/arm/netduino2.o
CC aarch64-softmmu/hw/arm/nseries.o
CC aarch64-softmmu/hw/arm/omap_sx1.o
CC aarch64-softmmu/hw/arm/palm.o
CC aarch64-softmmu/hw/arm/gumstix.o
CC aarch64-softmmu/hw/arm/spitz.o
CC aarch64-softmmu/hw/arm/tosa.o
CC aarch64-softmmu/hw/arm/z2.o
CC aarch64-softmmu/hw/arm/realview.o
CC aarch64-softmmu/hw/arm/stellaris.o
CC aarch64-softmmu/hw/arm/collie.o
CC aarch64-softmmu/hw/arm/vexpress.o
CC aarch64-softmmu/hw/arm/versatilepb.o
CC aarch64-softmmu/hw/arm/xilinx_zynq.o
CC aarch64-softmmu/hw/arm/armv7m.o
CC aarch64-softmmu/hw/arm/exynos4210.o
CC aarch64-softmmu/hw/arm/pxa2xx.o
CC aarch64-softmmu/hw/arm/pxa2xx_gpio.o
CC aarch64-softmmu/hw/arm/pxa2xx_pic.o
CC aarch64-softmmu/hw/arm/digic.o
CC aarch64-softmmu/hw/arm/omap1.o
CC aarch64-softmmu/hw/arm/omap2.o
CC aarch64-softmmu/hw/arm/strongarm.o
CC aarch64-softmmu/hw/arm/allwinner-a10.o
CC aarch64-softmmu/hw/arm/cubieboard.o
CC aarch64-softmmu/hw/arm/bcm2835_peripherals.o
CC aarch64-softmmu/hw/arm/bcm2836.o
CC aarch64-softmmu/hw/arm/raspi.o
CC aarch64-softmmu/hw/arm/stm32f205_soc.o
CC aarch64-softmmu/hw/arm/xlnx-zynqmp.o
CC aarch64-softmmu/hw/arm/xlnx-zcu102.o
CC aarch64-softmmu/hw/arm/xlnx-versal.o
CC aarch64-softmmu/hw/arm/xlnx-versal-virt.o
CC aarch64-softmmu/hw/arm/fsl-imx25.o
CC aarch64-softmmu/hw/arm/imx25_pdk.o
CC aarch64-softmmu/hw/arm/fsl-imx31.o
CC aarch64-softmmu/hw/arm/kzm.o
CC aarch64-softmmu/hw/arm/fsl-imx6.o
CC aarch64-softmmu/hw/arm/sabrelite.o
CC aarch64-softmmu/hw/arm/aspeed_soc.o
CC aarch64-softmmu/hw/arm/aspeed.o
CC aarch64-softmmu/hw/arm/mps2.o
CC aarch64-softmmu/hw/arm/mps2-tz.o
CC aarch64-softmmu/hw/arm/msf2-soc.o
CC aarch64-softmmu/hw/arm/msf2-som.o
CC aarch64-softmmu/hw/arm/iotkit.o
CC aarch64-softmmu/hw/arm/fsl-imx7.o
CC aarch64-softmmu/hw/arm/mcimx7d-sabre.o
CC aarch64-softmmu/hw/arm/smmu-common.o
CC aarch64-softmmu/hw/arm/smmuv3.o
CC aarch64-softmmu/hw/arm/fsl-imx6ul.o
CC aarch64-softmmu/hw/arm/mcimx6ul-evk.o
CC aarch64-softmmu/hw/arm/nrf51_soc.o
CC aarch64-softmmu/hw/arm/microbit.o
CC aarch64-softmmu/target/arm/arm-semi.o
CC aarch64-softmmu/target/arm/machine.o
CC aarch64-softmmu/target/arm/psci.o
CC aarch64-softmmu/target/arm/arch_dump.o
CC aarch64-softmmu/target/arm/monitor.o
CC aarch64-softmmu/target/arm/kvm-stub.o
CC aarch64-softmmu/target/arm/translate.o
CC aarch64-softmmu/target/arm/op_helper.o
CC aarch64-softmmu/target/arm/helper.o
CC aarch64-softmmu/target/arm/cpu.o
CC aarch64-softmmu/target/arm/neon_helper.o
CC aarch64-softmmu/target/arm/iwmmxt_helper.o
CC aarch64-softmmu/target/arm/vec_helper.o
CC aarch64-softmmu/target/arm/gdbstub.o
CC aarch64-softmmu/target/arm/cpu64.o
CC aarch64-softmmu/target/arm/translate-a64.o
CC aarch64-softmmu/target/arm/helper-a64.o
CC aarch64-softmmu/target/arm/gdbstub64.o
CC aarch64-softmmu/target/arm/crypto_helper.o
CC aarch64-softmmu/target/arm/arm-powerctl.o
GEN aarch64-softmmu/target/arm/decode-sve.inc.c
CC aarch64-softmmu/target/arm/sve_helper.o
GEN trace/generated-helpers.c
CC aarch64-softmmu/trace/control-target.o
CC aarch64-softmmu/gdbstub-xml.o
CC aarch64-softmmu/target/arm/translate-sve.o
CC aarch64-softmmu/trace/generated-helpers.o
LINK aarch64-softmmu/qemu-system-aarch64w.exe
GEN aarch64-softmmu/qemu-system-aarch64.exe
install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install"
install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install"
install -c -m 0755 qemu-ga.exe qemu-img.exe qemu-io.exe qemu-edid.exe "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install"
x86_64-w64-mingw32-strip "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/qemu-ga.exe" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/qemu-img.exe" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/qemu-io.exe" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/qemu-edid.exe"
set -e; for x in bios.bin bios-256k.bin sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin vgabios-virtio.bin vgabios-ramfb.bin vgabios-bochs-display.bin ppc_rom.bin openbios-sparc32 openbios-sparc64 openbios-ppc QEMU,tcx.bin QEMU,cgthree.bin pxe-e1000.rom pxe-eepro100.rom pxe-ne2k_pci.rom pxe-pcnet.rom pxe-rtl8139.rom pxe-virtio.rom efi-e1000.rom efi-eepro100.rom efi-ne2k_pci.rom efi-pcnet.rom efi-rtl8139.rom efi-virtio.rom efi-e1000e.rom efi-vmxnet3.rom qemu-icon.bmp qemu_logo_no_text.svg bamboo.dtb canyonlands.dtb petalogix-s3adsp1800.dtb petalogix-ml605.dtb multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin s390-ccw.img s390-netboot.img spapr-rtas.bin slof.bin skiboot.lid palcode-clipper u-boot.e500 u-boot-sam460-20100605.bin qemu_vga.ndrv hppa-firmware.img; do \
install -c -m 0644 /tmp/qemu-test/src/pc-bios/$x "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install"; \
done
make -C po install
make[1]: Entering directory '/tmp/qemu-test/build/po'
GEN /tmp/qemu-test/src/po/messages.po
GEN /tmp/qemu-test/src/po/hu.po
GEN /tmp/qemu-test/src/po/tr.po
GEN /tmp/qemu-test/src/po/it.po
GEN /tmp/qemu-test/src/po/bg.po
GEN /tmp/qemu-test/src/po/fr_FR.po
GEN /tmp/qemu-test/src/po/zh_CN.po
GEN /tmp/qemu-test/src/po/de_DE.po
GEN hu.mo
GEN bg.mo
GEN it.mo
GEN de_DE.mo
GEN zh_CN.mo
GEN tr.mo
GEN fr_FR.mo
for obj in hu.mo tr.mo it.mo bg.mo fr_FR.mo zh_CN.mo de_DE.mo; do \
base=$(basename $obj .mo); \
install -d /tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/locale/$base/LC_MESSAGES; \
install -m644 $obj /tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/locale/$base/LC_MESSAGES/qemu.mo; \
done
make[1]: Leaving directory '/tmp/qemu-test/build/po'
install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/keymaps"
set -e; for x in da en-gb et fr fr-ch is lt modifiers no pt-br sv ar de en-us fi fr-be hr it lv nl pl ru th common de-ch es fo fr-ca hu ja mk nl-be pt sl tr bepo cz; do \
install -c -m 0644 /tmp/qemu-test/src/pc-bios/keymaps/$x "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/keymaps"; \
done
install -c -m 0644 /tmp/qemu-test/build/trace-events-all "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/trace-events-all"
for d in x86_64-softmmu aarch64-softmmu; do \
make --no-print-directory --quiet BUILD_DIR=/tmp/qemu-test/build TARGET_DIR=$d/ -C $d install || exit 1 ; \
done
rm -f *.timestamp
rm -rf tests/check-qdict.exe tests/check-block-qdict.exe tests/test-char.exe tests/check-qnum.exe tests/check-qstring.exe tests/check-qlist.exe tests/check-qnull.exe tests/check-qobject.exe tests/check-qjson.exe tests/check-qlit.exe tests/test-qobject-output-visitor.exe tests/test-clone-visitor.exe tests/test-qobject-input-visitor.exe tests/test-qmp-cmds.exe tests/test-string-input-visitor.exe tests/test-string-output-visitor.exe tests/test-qmp-event.exe tests/test-opts-visitor.exe tests/test-coroutine.exe tests/test-visitor-serialization.exe tests/test-iov.exe tests/test-aio.exe tests/test-aio-multithread.exe tests/test-throttle.exe tests/test-thread-pool.exe tests/test-hbitmap.exe tests/test-bdrv-drain.exe tests/test-blockjob.exe tests/test-blockjob-txn.exe tests/test-block-backend.exe tests/test-image-locking.exe tests/test-x86-cpuid.exe tests/test-xbzrle.exe tests/test-cutils.exe tests/test-shift128.exe tests/test-mul64.exe tests/test-int128.exe tests/rcutorture.exe tests/test-rcu-list.exe tests/test-rcu-simpleq.exe tests/test-rcu-tailq.exe tests/test-qdist.exe tests/test-qht.exe tests/test-qht-par.exe tests/test-bitops.exe tests/test-bitcnt.exe tests/test-qdev-global-props.exe tests/check-qom-interface.exe tests/check-qom-proplist.exe tests/test-qemu-opts.exe tests/test-keyval.exe tests/test-write-threshold.exe tests/test-crypto-hash.exe tests/test-crypto-hmac.exe tests/test-crypto-cipher.exe tests/test-crypto-secret.exe tests/test-crypto-tlscredsx509.exe tests/test-crypto-tlssession.exe tests/test-timed-average.exe tests/test-util-sockets.exe tests/test-io-task.exe tests/test-io-channel-socket.exe tests/test-io-channel-file.exe tests/test-io-channel-tls.exe tests/test-io-channel-command.exe tests/test-io-channel-buffer.exe tests/test-base64.exe tests/test-crypto-pbkdf.exe tests/test-crypto-ivgen.exe tests/test-crypto-afsplit.exe tests/test-crypto-xts.exe tests/test-crypto-block.exe tests/test-logging.exe tests/test-replication.exe tests/test-bufferiszero.exe tests/test-uuid.exe tests/ptimer-test.exe tests/test-qapi-util.exe tests/*.o
rm -rf tests/ac97-test.exe tests/ahci-test.exe tests/bios-tables-test.exe tests/boot-order-test.exe tests/boot-serial-test.exe tests/cdrom-test.exe tests/cpu-plug-test.exe tests/device-introspect-test.exe tests/display-vga-test.exe tests/drive_del-test.exe tests/ds1338-test.exe tests/e1000-test.exe tests/e1000e-test.exe tests/eepro100-test.exe tests/endianness-test.exe tests/es1370-test.exe tests/fdc-test.exe tests/fw_cfg-test.exe tests/hd-geo-test.exe tests/hexloader-test.exe tests/i440fx-test.exe tests/i82801b11-test.exe tests/ide-test.exe tests/intel-hda-test.exe tests/ioh3420-test.exe tests/ipmi-bt-test.exe tests/ipmi-kcs-test.exe tests/ipoctal232-test.exe tests/m25p80-test.exe tests/m48t59-test.exe tests/machine-none-test.exe tests/megasas-test.exe tests/migration-test.exe tests/ne2000-test.exe tests/numa-test.exe tests/nvme-test.exe tests/pca9552-test.exe tests/pcnet-test.exe tests/pnv-xscom-test.exe tests/prom-env-test.exe tests/pvpanic-test.exe tests/pxe-test.exe tests/q35-test.exe tests/qmp-cmd-test.exe tests/qmp-test.exe tests/qom-test.exe tests/rtas-test.exe tests/rtc-test.exe tests/rtl8139-test.exe tests/sdhci-test.exe tests/spapr-phb-test.exe tests/tco-test.exe tests/test-arm-mptimer.exe tests/test-filter-redirector.exe tests/test-hmp.exe tests/test-netfilter.exe tests/test-x86-cpuid-compat.exe tests/tmp105-test.exe tests/tpci200-test.exe tests/tpm-crb-swtpm-test.exe tests/tpm-crb-test.exe tests/tpm-tis-swtpm-test.exe tests/tpm-tis-test.exe tests/usb-hcd-ohci-test.exe tests/usb-hcd-uhci-test.exe tests/usb-hcd-xhci-test.exe tests/virtio-balloon-test.exe tests/virtio-blk-test.exe tests/virtio-ccw-test.exe tests/virtio-console-test.exe tests/virtio-net-test.exe tests/virtio-rng-test.exe tests/virtio-scsi-test.exe tests/virtio-serial-test.exe tests/vmgenid-test.exe tests/vmxnet3-test.exe tests/wdt_ib700-test.exe
rm -f tests/test-qapi-gen-timestamp
rm -rf /tmp/qemu-test/build/tests/venv /tmp/qemu-test/build/tests/results
rm -f config.mak op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h
rm -f qemu-options.def
rm -f *.msi
find . \( -name '*.so' -o -name '*.dll' -o -name '*.mo' -o -name '*.[oda]' \) -type f -exec rm {} +
rm -f qemu-ga qemu-img.exe qemu-io.exe qemu-edid.exe qemu-ga TAGS cscope.* *.pod *~ */*~
rm -f fsdev/*.pod scsi/*.pod
rm -f qemu-img-cmds.h
rm -f ui/shader/*-vert.h ui/shader/*-frag.h
rm -f trace/generated-tracers-dtrace.dtrace*
rm -f trace/generated-tracers-dtrace.h*
rm -f qemu-version.h qemu-version.h-timestamp config-host.h config-host.h-timestamp qemu-options.def qemu-options.def-timestamp qapi/qapi-builtin-types.h qapi/qapi-builtin-types.h-timestamp qapi/qapi-builtin-types.c qapi/qapi-builtin-types.c-timestamp qapi/qapi-types.h qapi/qapi-types.h-timestamp qapi/qapi-types.c qapi/qapi-types.c-timestamp qapi/qapi-types-block-core.h qapi/qapi-types-block-core.h-timestamp qapi/qapi-types-block-core.c qapi/qapi-types-block-core.c-timestamp qapi/qapi-types-block.h qapi/qapi-types-block.h-timestamp qapi/qapi-types-block.c qapi/qapi-types-block.c-timestamp qapi/qapi-types-char.h qapi/qapi-types-char.h-timestamp qapi/qapi-types-char.c qapi/qapi-types-char.c-timestamp qapi/qapi-types-common.h qapi/qapi-types-common.h-timestamp qapi/qapi-types-common.c qapi/qapi-types-common.c-timestamp qapi/qapi-types-crypto.h qapi/qapi-types-crypto.h-timestamp qapi/qapi-types-crypto.c qapi/qapi-types-crypto.c-timestamp qapi/qapi-types-introspect.h qapi/qapi-types-introspect.h-timestamp qapi/qapi-types-introspect.c qapi/qapi-types-introspect.c-timestamp qapi/qapi-types-job.h qapi/qapi-types-job.h-timestamp qapi/qapi-types-job.c qapi/qapi-types-job.c-timestamp qapi/qapi-types-migration.h qapi/qapi-types-migration.h-timestamp qapi/qapi-types-migration.c qapi/qapi-types-migration.c-timestamp qapi/qapi-types-misc.h qapi/qapi-types-misc.h-timestamp qapi/qapi-types-misc.c qapi/qapi-types-misc.c-timestamp qapi/qapi-types-net.h qapi/qapi-types-net.h-timestamp qapi/qapi-types-net.c qapi/qapi-types-net.c-timestamp qapi/qapi-types-rocker.h qapi/qapi-types-rocker.h-timestamp qapi/qapi-types-rocker.c qapi/qapi-types-rocker.c-timestamp qapi/qapi-types-run-state.h qapi/qapi-types-run-state.h-timestamp qapi/qapi-types-run-state.c qapi/qapi-types-run-state.c-timestamp qapi/qapi-types-sockets.h qapi/qapi-types-sockets.h-timestamp qapi/qapi-types-sockets.c qapi/qapi-types-sockets.c-timestamp qapi/qapi-types-tpm.h qapi/qapi-types-tpm.h-timestamp qapi/qapi-types-tpm.c qapi/qapi-types-tpm.c-timestamp qapi/qapi-types-trace.h qapi/qapi-types-trace.h-timestamp qapi/qapi-types-trace.c qapi/qapi-types-trace.c-timestamp qapi/qapi-types-transaction.h qapi/qapi-types-transaction.h-timestamp qapi/qapi-types-transaction.c qapi/qapi-types-transaction.c-timestamp qapi/qapi-types-ui.h qapi/qapi-types-ui.h-timestamp qapi/qapi-types-ui.c qapi/qapi-types-ui.c-timestamp qapi/qapi-builtin-visit.h qapi/qapi-builtin-visit.h-timestamp qapi/qapi-builtin-visit.c qapi/qapi-builtin-visit.c-timestamp qapi/qapi-visit.h qapi/qapi-visit.h-timestamp qapi/qapi-visit.c qapi/qapi-visit.c-timestamp qapi/qapi-visit-block-core.h qapi/qapi-visit-block-core.h-timestamp qapi/qapi-visit-block-core.c qapi/qapi-visit-block-core.c-timestamp qapi/qapi-visit-block.h qapi/qapi-visit-block.h-timestamp qapi/qapi-visit-block.c qapi/qapi-visit-block.c-timestamp qapi/qapi-visit-char.h qapi/qapi-visit-char.h-timestamp qapi/qapi-visit-char.c qapi/qapi-visit-char.c-timestamp qapi/qapi-visit-common.h qapi/qapi-visit-common.h-timestamp qapi/qapi-visit-common.c qapi/qapi-visit-common.c-timestamp qapi/qapi-visit-crypto.h qapi/qapi-visit-crypto.h-timestamp qapi/qapi-visit-crypto.c qapi/qapi-visit-crypto.c-timestamp qapi/qapi-visit-introspect.h qapi/qapi-visit-introspect.h-timestamp qapi/qapi-visit-introspect.c qapi/qapi-visit-introspect.c-timestamp qapi/qapi-visit-job.h qapi/qapi-visit-job.h-timestamp qapi/qapi-visit-job.c qapi/qapi-visit-job.c-timestamp qapi/qapi-visit-migration.h qapi/qapi-visit-migration.h-timestamp qapi/qapi-visit-migration.c qapi/qapi-visit-migration.c-timestamp qapi/qapi-visit-misc.h qapi/qapi-visit-misc.h-timestamp qapi/qapi-visit-misc.c qapi/qapi-visit-misc.c-timestamp qapi/qapi-visit-net.h qapi/qapi-visit-net.h-timestamp qapi/qapi-visit-net.c qapi/qapi-visit-net.c-timestamp qapi/qapi-visit-rocker.h qapi/qapi-visit-rocker.h-timestamp qapi/qapi-visit-rocker.c qapi/qapi-visit-rocker.c-timestamp qapi/qapi-visit-run-state.h qapi/qapi-visit-run-state.h-timestamp qapi/qapi-visit-run-state.c qapi/qapi-visit-run-state.c-timestamp qapi/qapi-visit-sockets.h qapi/qapi-visit-sockets.h-timestamp qapi/qapi-visit-sockets.c qapi/qapi-visit-sockets.c-timestamp qapi/qapi-visit-tpm.h qapi/qapi-visit-tpm.h-timestamp qapi/qapi-visit-tpm.c qapi/qapi-visit-tpm.c-timestamp qapi/qapi-visit-trace.h qapi/qapi-visit-trace.h-timestamp qapi/qapi-visit-trace.c qapi/qapi-visit-trace.c-timestamp qapi/qapi-visit-transaction.h qapi/qapi-visit-transaction.h-timestamp qapi/qapi-visit-transaction.c qapi/qapi-visit-transaction.c-timestamp qapi/qapi-visit-ui.h qapi/qapi-visit-ui.h-timestamp qapi/qapi-visit-ui.c qapi/qapi-visit-ui.c-timestamp qapi/qapi-commands.h qapi/qapi-commands.h-timestamp qapi/qapi-commands.c qapi/qapi-commands.c-timestamp qapi/qapi-commands-block-core.h qapi/qapi-commands-block-core.h-timestamp qapi/qapi-commands-block-core.c qapi/qapi-commands-block-core.c-timestamp qapi/qapi-commands-block.h qapi/qapi-commands-block.h-timestamp qapi/qapi-commands-block.c qapi/qapi-commands-block.c-timestamp qapi/qapi-commands-char.h qapi/qapi-commands-char.h-timestamp qapi/qapi-commands-char.c qapi/qapi-commands-char.c-timestamp qapi/qapi-commands-common.h qapi/qapi-commands-common.h-timestamp qapi/qapi-commands-common.c qapi/qapi-commands-common.c-timestamp qapi/qapi-commands-crypto.h qapi/qapi-commands-crypto.h-timestamp qapi/qapi-commands-crypto.c qapi/qapi-commands-crypto.c-timestamp qapi/qapi-commands-introspect.h qapi/qapi-commands-introspect.h-timestamp qapi/qapi-commands-introspect.c qapi/qapi-commands-introspect.c-timestamp qapi/qapi-commands-job.h qapi/qapi-commands-job.h-timestamp qapi/qapi-commands-job.c qapi/qapi-commands-job.c-timestamp qapi/qapi-commands-migration.h qapi/qapi-commands-migration.h-timestamp qapi/qapi-commands-migration.c qapi/qapi-commands-migration.c-timestamp qapi/qapi-commands-misc.h qapi/qapi-commands-misc.h-timestamp qapi/qapi-commands-misc.c qapi/qapi-commands-misc.c-timestamp qapi/qapi-commands-net.h qapi/qapi-commands-net.h-timestamp qapi/qapi-commands-net.c qapi/qapi-commands-net.c-timestamp qapi/qapi-commands-rocker.h qapi/qapi-commands-rocker.h-timestamp qapi/qapi-commands-rocker.c qapi/qapi-commands-rocker.c-timestamp qapi/qapi-commands-run-state.h qapi/qapi-commands-run-state.h-timestamp qapi/qapi-commands-run-state.c qapi/qapi-commands-run-state.c-timestamp qapi/qapi-commands-sockets.h qapi/qapi-commands-sockets.h-timestamp qapi/qapi-commands-sockets.c qapi/qapi-commands-sockets.c-timestamp qapi/qapi-commands-tpm.h qapi/qapi-commands-tpm.h-timestamp qapi/qapi-commands-tpm.c qapi/qapi-commands-tpm.c-timestamp qapi/qapi-commands-trace.h qapi/qapi-commands-trace.h-timestamp qapi/qapi-commands-trace.c qapi/qapi-commands-trace.c-timestamp qapi/qapi-commands-transaction.h qapi/qapi-commands-transaction.h-timestamp qapi/qapi-commands-transaction.c qapi/qapi-commands-transaction.c-timestamp qapi/qapi-commands-ui.h qapi/qapi-commands-ui.h-timestamp qapi/qapi-commands-ui.c qapi/qapi-commands-ui.c-timestamp qapi/qapi-events.h qapi/qapi-events.h-timestamp qapi/qapi-events.c qapi/qapi-events.c-timestamp qapi/qapi-events-block-core.h qapi/qapi-events-block-core.h-timestamp qapi/qapi-events-block-core.c qapi/qapi-events-block-core.c-timestamp qapi/qapi-events-block.h qapi/qapi-events-block.h-timestamp qapi/qapi-events-block.c qapi/qapi-events-block.c-timestamp qapi/qapi-events-char.h qapi/qapi-events-char.h-timestamp qapi/qapi-events-char.c qapi/qapi-events-char.c-timestamp qapi/qapi-events-common.h qapi/qapi-events-common.h-timestamp qapi/qapi-events-common.c qapi/qapi-events-common.c-timestamp qapi/qapi-events-crypto.h qapi/qapi-events-crypto.h-timestamp qapi/qapi-events-crypto.c qapi/qapi-events-crypto.c-timestamp qapi/qapi-events-introspect.h qapi/qapi-events-introspect.h-timestamp qapi/qapi-events-introspect.c qapi/qapi-events-introspect.c-timestamp qapi/qapi-events-job.h qapi/qapi-events-job.h-timestamp qapi/qapi-events-job.c qapi/qapi-events-job.c-timestamp qapi/qapi-events-migration.h qapi/qapi-events-migration.h-timestamp qapi/qapi-events-migration.c qapi/qapi-events-migration.c-timestamp qapi/qapi-events-misc.h qapi/qapi-events-misc.h-timestamp qapi/qapi-events-misc.c qapi/qapi-events-misc.c-timestamp qapi/qapi-events-net.h qapi/qapi-events-net.h-timestamp qapi/qapi-events-net.c qapi/qapi-events-net.c-timestamp qapi/qapi-events-rocker.h qapi/qapi-events-rocker.h-timestamp qapi/qapi-events-rocker.c qapi/qapi-events-rocker.c-timestamp qapi/qapi-events-run-state.h qapi/qapi-events-run-state.h-timestamp qapi/qapi-events-run-state.c qapi/qapi-events-run-state.c-timestamp qapi/qapi-events-sockets.h qapi/qapi-events-sockets.h-timestamp qapi/qapi-events-sockets.c qapi/qapi-events-sockets.c-timestamp qapi/qapi-events-tpm.h qapi/qapi-events-tpm.h-timestamp qapi/qapi-events-tpm.c qapi/qapi-events-tpm.c-timestamp qapi/qapi-events-trace.h qapi/qapi-events-trace.h-timestamp qapi/qapi-events-trace.c qapi/qapi-events-trace.c-timestamp qapi/qapi-events-transaction.h qapi/qapi-events-transaction.h-timestamp qapi/qapi-events-transaction.c qapi/qapi-events-transaction.c-timestamp qapi/qapi-events-ui.h qapi/qapi-events-ui.h-timestamp qapi/qapi-events-ui.c qapi/qapi-events-ui.c-timestamp qapi/qapi-introspect.c qapi/qapi-introspect.c-timestamp qapi/qapi-introspect.h qapi/qapi-introspect.h-timestamp qapi/qapi-doc.texi qapi/qapi-doc.texi-timestamp trace/generated-tcg-tracers.h trace/generated-tcg-tracers.h-timestamp trace/generated-helpers-wrappers.h trace/generated-helpers-wrappers.h-timestamp trace/generated-helpers.h trace/generated-helpers.h-timestamp trace/generated-helpers.c trace/generated-helpers.c-timestamp module_block.h module_block.h-timestamp trace-root.h trace-root.h-timestamp accel/kvm/trace.h accel/kvm/trace.h-timestamp accel/tcg/trace.h accel/tcg/trace.h-timestamp audio/trace.h audio/trace.h-timestamp block/trace.h block/trace.h-timestamp chardev/trace.h chardev/trace.h-timestamp crypto/trace.h crypto/trace.h-timestamp hw/9pfs/trace.h hw/9pfs/trace.h-timestamp hw/acpi/trace.h hw/acpi/trace.h-timestamp hw/alpha/trace.h hw/alpha/trace.h-timestamp hw/arm/trace.h hw/arm/trace.h-timestamp hw/audio/trace.h hw/audio/trace.h-timestamp hw/block/trace.h hw/block/trace.h-timestamp hw/block/dataplane/trace.h hw/block/dataplane/trace.h-timestamp hw/char/trace.h hw/char/trace.h-timestamp hw/display/trace.h hw/display/trace.h-timestamp hw/dma/trace.h hw/dma/trace.h-timestamp hw/hppa/trace.h hw/hppa/trace.h-timestamp hw/i2c/trace.h hw/i2c/trace.h-timestamp hw/i386/trace.h hw/i386/trace.h-timestamp hw/i386/xen/trace.h hw/i386/xen/trace.h-timestamp hw/ide/trace.h hw/ide/trace.h-timestamp hw/input/trace.h hw/input/trace.h-timestamp hw/intc/trace.h hw/intc/trace.h-timestamp hw/isa/trace.h hw/isa/trace.h-timestamp hw/mem/trace.h hw/mem/trace.h-timestamp hw/misc/trace.h hw/misc/trace.h-timestamp hw/misc/macio/trace.h hw/misc/macio/trace.h-timestamp hw/net/trace.h hw/net/trace.h-timestamp hw/nvram/trace.h hw/nvram/trace.h-timestamp hw/pci/trace.h hw/pci/trace.h-timestamp hw/pci-host/trace.h hw/pci-host/trace.h-timestamp hw/ppc/trace.h hw/ppc/trace.h-timestamp hw/rdma/trace.h hw/rdma/trace.h-timestamp hw/rdma/vmw/trace.h hw/rdma/vmw/trace.h-timestamp hw/s390x/trace.h hw/s390x/trace.h-timestamp hw/scsi/trace.h hw/scsi/trace.h-timestamp hw/sd/trace.h hw/sd/trace.h-timestamp hw/sparc/trace.h hw/sparc/trace.h-timestamp hw/sparc64/trace.h hw/sparc64/trace.h-timestamp hw/timer/trace.h hw/timer/trace.h-timestamp hw/tpm/trace.h hw/tpm/trace.h-timestamp hw/usb/trace.h hw/usb/trace.h-timestamp hw/vfio/trace.h hw/vfio/trace.h-timestamp hw/virtio/trace.h hw/virtio/trace.h-timestamp hw/watchdog/trace.h hw/watchdog/trace.h-timestamp hw/xen/trace.h hw/xen/trace.h-timestamp io/trace.h io/trace.h-timestamp linux-user/trace.h linux-user/trace.h-timestamp migration/trace.h migration/trace.h-timestamp nbd/trace.h nbd/trace.h-timestamp net/trace.h net/trace.h-timestamp qapi/trace.h qapi/trace.h-timestamp qom/trace.h qom/trace.h-timestamp scsi/trace.h scsi/trace.h-timestamp target/arm/trace.h target/arm/trace.h-timestamp target/i386/trace.h target/i386/trace.h-timestamp target/mips/trace.h target/mips/trace.h-timestamp target/ppc/trace.h target/ppc/trace.h-timestamp target/s390x/trace.h target/s390x/trace.h-timestamp target/sparc/trace.h target/sparc/trace.h-timestamp ui/trace.h ui/trace.h-timestamp util/trace.h util/trace.h-timestamp trace-root.c trace-root.c-timestamp accel/kvm/trace.c accel/kvm/trace.c-timestamp accel/tcg/trace.c accel/tcg/trace.c-timestamp audio/trace.c audio/trace.c-timestamp block/trace.c block/trace.c-timestamp chardev/trace.c chardev/trace.c-timestamp crypto/trace.c crypto/trace.c-timestamp hw/9pfs/trace.c hw/9pfs/trace.c-timestamp hw/acpi/trace.c hw/acpi/trace.c-timestamp hw/alpha/trace.c hw/alpha/trace.c-timestamp hw/arm/trace.c hw/arm/trace.c-timestamp hw/audio/trace.c hw/audio/trace.c-timestamp hw/block/trace.c hw/block/trace.c-timestamp hw/block/dataplane/trace.c hw/block/dataplane/trace.c-timestamp hw/char/trace.c hw/char/trace.c-timestamp hw/display/trace.c hw/display/trace.c-timestamp hw/dma/trace.c hw/dma/trace.c-timestamp hw/hppa/trace.c hw/hppa/trace.c-timestamp hw/i2c/trace.c hw/i2c/trace.c-timestamp hw/i386/trace.c hw/i386/trace.c-timestamp hw/i386/xen/trace.c hw/i386/xen/trace.c-timestamp hw/ide/trace.c hw/ide/trace.c-timestamp hw/input/trace.c hw/input/trace.c-timestamp hw/intc/trace.c hw/intc/trace.c-timestamp hw/isa/trace.c hw/isa/trace.c-timestamp hw/mem/trace.c hw/mem/trace.c-timestamp hw/misc/trace.c hw/misc/trace.c-timestamp hw/misc/macio/trace.c hw/misc/macio/trace.c-timestamp hw/net/trace.c hw/net/trace.c-timestamp hw/nvram/trace.c hw/nvram/trace.c-timestamp hw/pci/trace.c hw/pci/trace.c-timestamp hw/pci-host/trace.c hw/pci-host/trace.c-timestamp hw/ppc/trace.c hw/ppc/trace.c-timestamp hw/rdma/trace.c hw/rdma/trace.c-timestamp hw/rdma/vmw/trace.c hw/rdma/vmw/trace.c-timestamp hw/s390x/trace.c hw/s390x/trace.c-timestamp hw/scsi/trace.c hw/scsi/trace.c-timestamp hw/sd/trace.c hw/sd/trace.c-timestamp hw/sparc/trace.c hw/sparc/trace.c-timestamp hw/sparc64/trace.c hw/sparc64/trace.c-timestamp hw/timer/trace.c hw/timer/trace.c-timestamp hw/tpm/trace.c hw/tpm/trace.c-timestamp hw/usb/trace.c hw/usb/trace.c-timestamp hw/vfio/trace.c hw/vfio/trace.c-timestamp hw/virtio/trace.c hw/virtio/trace.c-timestamp hw/watchdog/trace.c hw/watchdog/trace.c-timestamp hw/xen/trace.c hw/xen/trace.c-timestamp io/trace.c io/trace.c-timestamp linux-user/trace.c linux-user/trace.c-timestamp migration/trace.c migration/trace.c-timestamp nbd/trace.c nbd/trace.c-timestamp net/trace.c net/trace.c-timestamp qapi/trace.c qapi/trace.c-timestamp qom/trace.c qom/trace.c-timestamp scsi/trace.c scsi/trace.c-timestamp target/arm/trace.c target/arm/trace.c-timestamp target/i386/trace.c target/i386/trace.c-timestamp target/mips/trace.c target/mips/trace.c-timestamp target/ppc/trace.c target/ppc/trace.c-timestamp target/s390x/trace.c target/s390x/trace.c-timestamp target/sparc/trace.c target/sparc/trace.c-timestamp ui/trace.c ui/trace.c-timestamp util/trace.c util/trace.c-timestamp /tmp/qemu-test/build/trace-events-all /tmp/qemu-test/build/trace-events-all-timestamp .git-submodule-status .git-submodule-status-timestamp ui/input-keymap-atset1-to-qcode.c ui/input-keymap-atset1-to-qcode.c-timestamp ui/input-keymap-linux-to-qcode.c ui/input-keymap-linux-to-qcode.c-timestamp ui/input-keymap-qcode-to-atset1.c ui/input-keymap-qcode-to-atset1.c-timestamp ui/input-keymap-qcode-to-atset2.c ui/input-keymap-qcode-to-atset2.c-timestamp ui/input-keymap-qcode-to-atset3.c ui/input-keymap-qcode-to-atset3.c-timestamp ui/input-keymap-qcode-to-linux.c ui/input-keymap-qcode-to-linux.c-timestamp ui/input-keymap-qcode-to-qnum.c ui/input-keymap-qcode-to-qnum.c-timestamp ui/input-keymap-qcode-to-sun.c ui/input-keymap-qcode-to-sun.c-timestamp ui/input-keymap-qnum-to-qcode.c ui/input-keymap-qnum-to-qcode.c-timestamp ui/input-keymap-usb-to-qcode.c ui/input-keymap-usb-to-qcode.c-timestamp ui/input-keymap-win32-to-qcode.c ui/input-keymap-win32-to-qcode.c-timestamp ui/input-keymap-x11-to-qcode.c ui/input-keymap-x11-to-qcode.c-timestamp ui/input-keymap-xorgevdev-to-qcode.c ui/input-keymap-xorgevdev-to-qcode.c-timestamp ui/input-keymap-xorgkbd-to-qcode.c ui/input-keymap-xorgkbd-to-qcode.c-timestamp ui/input-keymap-xorgxquartz-to-qcode.c ui/input-keymap-xorgxquartz-to-qcode.c-timestamp ui/input-keymap-xorgxwin-to-qcode.c ui/input-keymap-xorgxwin-to-qcode.c-timestamp ui/input-keymap-osx-to-qcode.c ui/input-keymap-osx-to-qcode.c-timestamp tests/test-qapi-types.h tests/test-qapi-types.h-timestamp tests/test-qapi-visit.h tests/test-qapi-visit.h-timestamp tests/test-qapi-commands.h tests/test-qapi-commands.h-timestamp tests/test-qapi-events.h tests/test-qapi-events.h-timestamp tests/test-qapi-introspect.h tests/test-qapi-introspect.h-timestamp
rm -f qapi-gen-timestamp
rm -rf qga/qapi-generated
for d in x86_64-softmmu aarch64-softmmu pc-bios/optionrom; do \
if test -d $d; then make -C $d clean || exit 1; fi; \
rm -f $d/qemu-options.def; \
done
make[1]: Entering directory '/tmp/qemu-test/build/x86_64-softmmu'
rm -f *.timestamp
rm -f *.a *~ qemu-system-x86_64.exe qemu-system-x86_64w.exe
rm -f
rm -f hmp-commands.h gdbstub-xml.c
make[1]: Leaving directory '/tmp/qemu-test/build/x86_64-softmmu'
make[1]: Entering directory '/tmp/qemu-test/build/aarch64-softmmu'
rm -f *.timestamp
rm -f *.a *~ qemu-system-aarch64.exe qemu-system-aarch64w.exe
rm -f
rm -f hmp-commands.h gdbstub-xml.c
make[1]: Leaving directory '/tmp/qemu-test/build/aarch64-softmmu'
make[1]: Entering directory '/tmp/qemu-test/build/pc-bios/optionrom'
rm -f *.timestamp
rm -f *.o *.d *.raw *.img *.bin *~
make[1]: Leaving directory '/tmp/qemu-test/build/pc-bios/optionrom'
rm -f config-all-devices.mak
Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install --python=/usr/bin/python3 --cross-prefix=i686-w64-mingw32- --enable-trace-backends=simple --enable-gnutls --enable-nettle --enable-curl --enable-vnc --enable-bzip2 --enable-guest-agent --with-sdlabi=2.0
Install prefix /tmp/qemu-test/install
BIOS directory /tmp/qemu-test/install
firmware path /tmp/qemu-test/install/share/qemu-firmware
binary directory /tmp/qemu-test/install
library directory /tmp/qemu-test/install/lib
module directory /tmp/qemu-test/install/lib
libexec directory /tmp/qemu-test/install/libexec
include directory /tmp/qemu-test/install/include
config directory /tmp/qemu-test/install
local state directory queried at runtime
Windows SDK no
Source path /tmp/qemu-test/src
GIT binary git
GIT submodules
C compiler i686-w64-mingw32-gcc
Host C compiler cc
C++ compiler i686-w64-mingw32-g++
Objective-C compiler clang
ARFLAGS rv
CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g
QEMU_CFLAGS -I/usr/i686-w64-mingw32/sys-root/mingw/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -Werror -DHAS_LIBSSH2_SFTP_FSYNC -I/usr/i686-w64-mingw32/sys-root/mingw/include -mms-bitfields -I/usr/i686-w64-mingw32/sys-root/mingw/include/glib-2.0 -I/usr/i686-w64-mingw32/sys-root/mingw/lib/glib-2.0/include -I/usr/i686-w64-mingw32/sys-root/mingw/include -m32 -mthreads -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -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 -fwrapv -Wexpansion-to-defined -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/i686-w64-mingw32/sys-root/mingw/include -I/usr/i686-w64-mingw32/sys-root/mingw/include/p11-kit-1 -I/usr/i686-w64-mingw32/sys-root/mingw/include -I/usr/i686-w64-mingw32/sys-root/mingw/include/libpng16
LDFLAGS -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m32 -g
QEMU_LDFLAGS -L$(BUILD_DIR)/dtc/libfdt
make make
install install
python /usr/bin/python3 -B
smbd /usr/sbin/smbd
module support no
host CPU i386
host big endian no
target list x86_64-softmmu aarch64-softmmu
gprof enabled no
sparse enabled no
strip binaries yes
profiler no
static build no
SDL support yes (2.0.9)
GTK support yes (3.22.30)
GTK GL support no
VTE support no
TLS priority NORMAL
GNUTLS support yes
libgcrypt no
nettle yes (3.4)
libtasn1 yes
curses support no
virgl support no
curl support yes
mingw32 support yes
Audio drivers dsound
Block whitelist (rw)
Block whitelist (ro)
VirtFS support no
Multipath support no
VNC support yes
VNC SASL support no
VNC JPEG support yes
VNC PNG support yes
xen support no
brlapi support no
bluez support no
Documentation no
PIE no
vde support no
netmap support no
Linux AIO support no
ATTR/XATTR support no
Install blobs yes
KVM support no
HAX support yes
HVF support no
WHPX support no
TCG support yes
TCG debug enabled no
TCG interpreter no
malloc trim support no
RDMA support no
PVRDMA support no
fdt support git
membarrier no
preadv support no
fdatasync no
madvise no
posix_madvise no
posix_memalign no
libcap-ng support no
vhost-net support no
vhost-crypto support no
vhost-scsi support no
vhost-vsock support no
vhost-user support no
Trace backends simple
Trace output file trace-<pid>
spice support no
rbd support no
xfsctl support no
smartcard support no
libusb no
usb net redir no
OpenGL support no
OpenGL dmabufs no
libiscsi support no
libnfs support no
build guest agent yes
QGA VSS support no
QGA w32 disk info yes
QGA MSI support no
seccomp support no
coroutine backend win32
coroutine pool yes
debug stack usage no
mutex debugging no
crypto afalg no
GlusterFS support no
gcov gcov
gcov enabled no
TPM support yes
libssh2 support yes
TPM passthrough no
TPM emulator no
QOM debugging yes
Live block migration yes
lzo support no
snappy support no
bzip2 support yes
NUMA host support no
libxml2 no
tcmalloc support no
jemalloc support no
avx2 optimization yes
replication support yes
VxHS block device no
bochs support yes
cloop support yes
dmg support yes
qcow v1 support yes
vdi support yes
vvfat support yes
qed support yes
parallels support yes
sheepdog support yes
capstone no
docker no
libpmem support no
libudev no
GEN config-all-devices.mak
GEN config-host.h
GEN qemu-options.def
GEN qapi-gen
GEN trace/generated-tcg-tracers.h
GEN trace/generated-helpers-wrappers.h
GEN trace/generated-helpers.h
GEN trace/generated-helpers.c
GEN module_block.h
GEN ui/input-keymap-atset1-to-qcode.c
GEN ui/input-keymap-linux-to-qcode.c
GEN ui/input-keymap-qcode-to-atset1.c
GEN ui/input-keymap-qcode-to-atset2.c
GEN ui/input-keymap-qcode-to-atset3.c
GEN ui/input-keymap-qcode-to-linux.c
GEN ui/input-keymap-qcode-to-qnum.c
GEN ui/input-keymap-qcode-to-sun.c
GEN ui/input-keymap-usb-to-qcode.c
GEN ui/input-keymap-qnum-to-qcode.c
GEN ui/input-keymap-win32-to-qcode.c
GEN ui/input-keymap-x11-to-qcode.c
GEN ui/input-keymap-xorgevdev-to-qcode.c
GEN ui/input-keymap-xorgkbd-to-qcode.c
GEN ui/input-keymap-xorgxquartz-to-qcode.c
GEN ui/input-keymap-xorgxwin-to-qcode.c
GEN ui/input-keymap-osx-to-qcode.c
GEN tests/test-qapi-gen
GEN trace-root.h
GEN accel/kvm/trace.h
GEN accel/tcg/trace.h
GEN audio/trace.h
GEN block/trace.h
GEN chardev/trace.h
GEN crypto/trace.h
GEN hw/9pfs/trace.h
GEN hw/acpi/trace.h
GEN hw/alpha/trace.h
GEN hw/arm/trace.h
GEN hw/audio/trace.h
GEN hw/block/trace.h
GEN hw/block/dataplane/trace.h
GEN hw/char/trace.h
GEN hw/display/trace.h
GEN hw/dma/trace.h
GEN hw/hppa/trace.h
GEN hw/i2c/trace.h
GEN hw/i386/trace.h
GEN hw/i386/xen/trace.h
GEN hw/ide/trace.h
GEN hw/input/trace.h
GEN hw/intc/trace.h
GEN hw/isa/trace.h
GEN hw/mem/trace.h
GEN hw/misc/trace.h
GEN hw/misc/macio/trace.h
GEN hw/net/trace.h
GEN hw/nvram/trace.h
GEN hw/pci/trace.h
GEN hw/pci-host/trace.h
GEN hw/ppc/trace.h
GEN hw/rdma/trace.h
GEN hw/rdma/vmw/trace.h
GEN hw/s390x/trace.h
GEN hw/scsi/trace.h
GEN hw/sd/trace.h
GEN hw/sparc/trace.h
GEN hw/sparc64/trace.h
GEN hw/timer/trace.h
GEN hw/tpm/trace.h
GEN hw/usb/trace.h
GEN hw/vfio/trace.h
GEN hw/virtio/trace.h
GEN hw/watchdog/trace.h
GEN hw/xen/trace.h
GEN io/trace.h
GEN linux-user/trace.h
GEN migration/trace.h
GEN nbd/trace.h
GEN net/trace.h
GEN qapi/trace.h
GEN qom/trace.h
GEN scsi/trace.h
GEN target/arm/trace.h
GEN target/i386/trace.h
GEN target/mips/trace.h
GEN target/ppc/trace.h
GEN target/s390x/trace.h
GEN target/sparc/trace.h
GEN ui/trace.h
GEN util/trace.h
GEN trace-root.c
GEN accel/kvm/trace.c
GEN accel/tcg/trace.c
GEN audio/trace.c
GEN block/trace.c
GEN chardev/trace.c
GEN crypto/trace.c
GEN hw/9pfs/trace.c
GEN hw/acpi/trace.c
GEN hw/alpha/trace.c
GEN hw/arm/trace.c
GEN hw/audio/trace.c
GEN hw/block/trace.c
GEN hw/block/dataplane/trace.c
GEN hw/char/trace.c
GEN hw/display/trace.c
GEN hw/dma/trace.c
GEN hw/hppa/trace.c
GEN hw/i2c/trace.c
GEN hw/i386/trace.c
GEN hw/i386/xen/trace.c
GEN hw/ide/trace.c
GEN hw/input/trace.c
GEN hw/intc/trace.c
GEN hw/isa/trace.c
GEN hw/mem/trace.c
GEN hw/misc/trace.c
GEN hw/misc/macio/trace.c
GEN hw/net/trace.c
GEN hw/nvram/trace.c
GEN hw/pci/trace.c
GEN hw/pci-host/trace.c
GEN hw/ppc/trace.c
GEN hw/rdma/trace.c
GEN hw/rdma/vmw/trace.c
GEN hw/s390x/trace.c
GEN hw/scsi/trace.c
GEN hw/sd/trace.c
GEN hw/sparc/trace.c
GEN hw/sparc64/trace.c
GEN hw/timer/trace.c
GEN hw/tpm/trace.c
GEN hw/usb/trace.c
GEN hw/vfio/trace.c
GEN hw/virtio/trace.c
GEN hw/watchdog/trace.c
GEN hw/xen/trace.c
GEN io/trace.c
GEN linux-user/trace.c
GEN migration/trace.c
GEN nbd/trace.c
GEN net/trace.c
GEN qapi/trace.c
GEN qom/trace.c
GEN scsi/trace.c
GEN target/arm/trace.c
GEN target/i386/trace.c
GEN target/mips/trace.c
GEN target/ppc/trace.c
GEN target/s390x/trace.c
GEN target/sparc/trace.c
GEN ui/trace.c
GEN util/trace.c
DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c
DEP /tmp/qemu-test/src/dtc/tests/trees.S
DEP /tmp/qemu-test/src/dtc/tests/testutils.c
DEP /tmp/qemu-test/src/dtc/tests/value-labels.c
DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c
DEP /tmp/qemu-test/src/dtc/tests/truncated_memrsv.c
DEP /tmp/qemu-test/src/dtc/tests/truncated_string.c
DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c
DEP /tmp/qemu-test/src/dtc/tests/check_full.c
DEP /tmp/qemu-test/src/dtc/tests/check_header.c
DEP /tmp/qemu-test/src/dtc/tests/check_path.c
DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c
DEP /tmp/qemu-test/src/dtc/tests/overlay.c
DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c
DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c
DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c
DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c
DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c
DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c
DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c
DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c
DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c
DEP /tmp/qemu-test/src/dtc/tests/incbin.c
DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c
DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c
DEP /tmp/qemu-test/src/dtc/tests/path-references.c
DEP /tmp/qemu-test/src/dtc/tests/references.c
DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c
DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c
DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c
DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c
DEP /tmp/qemu-test/src/dtc/tests/del_node.c
DEP /tmp/qemu-test/src/dtc/tests/del_property.c
DEP /tmp/qemu-test/src/dtc/tests/setprop.c
DEP /tmp/qemu-test/src/dtc/tests/set_name.c
DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/open_pack.c
DEP /tmp/qemu-test/src/dtc/tests/nopulate.c
DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c
DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c
DEP /tmp/qemu-test/src/dtc/tests/sw_states.c
DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/nop_node.c
DEP /tmp/qemu-test/src/dtc/tests/nop_property.c
DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c
DEP /tmp/qemu-test/src/dtc/tests/stringlist.c
DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells2.c
DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c
DEP /tmp/qemu-test/src/dtc/tests/notfound.c
DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c
DEP /tmp/qemu-test/src/dtc/tests/char_literal.c
DEP /tmp/qemu-test/src/dtc/tests/get_alias.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c
DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c
DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c
DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c
DEP /tmp/qemu-test/src/dtc/tests/get_path.c
DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c
DEP /tmp/qemu-test/src/dtc/tests/getprop.c
DEP /tmp/qemu-test/src/dtc/tests/get_name.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset.c
DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c
DEP /tmp/qemu-test/src/dtc/tests/find_property.c
DEP /tmp/qemu-test/src/dtc/tests/root_node.c
DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c
DEP /tmp/qemu-test/src/dtc/util.c
DEP /tmp/qemu-test/src/dtc/fdtoverlay.c
DEP /tmp/qemu-test/src/dtc/fdtput.c
DEP /tmp/qemu-test/src/dtc/fdtget.c
DEP /tmp/qemu-test/src/dtc/fdtdump.c
DEP convert-dtsv0-lexer.lex.c
DEP /tmp/qemu-test/src/dtc/srcpos.c
DEP dtc-parser.tab.c
DEP dtc-lexer.lex.c
DEP /tmp/qemu-test/src/dtc/treesource.c
DEP /tmp/qemu-test/src/dtc/livetree.c
DEP /tmp/qemu-test/src/dtc/fstree.c
DEP /tmp/qemu-test/src/dtc/flattree.c
DEP /tmp/qemu-test/src/dtc/dtc.c
DEP /tmp/qemu-test/src/dtc/data.c
DEP /tmp/qemu-test/src/dtc/checks.c
CC libfdt/fdt.o
CC libfdt/fdt_ro.o
CC libfdt/fdt_wip.o
CC libfdt/fdt_sw.o
CC libfdt/fdt_rw.o
CC libfdt/fdt_strerror.o
CC libfdt/fdt_empty_tree.o
CC libfdt/fdt_addresses.o
CC libfdt/fdt_overlay.o
AR libfdt/libfdt.a
i686-w64-mingw32-ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
a - libfdt/fdt_addresses.o
a - libfdt/fdt_overlay.o
RC version.o
GEN qga/qapi-generated/qapi-gen
CC qapi/qapi-builtin-types.o
CC qapi/qapi-types.o
CC qapi/qapi-types-block-core.o
CC qapi/qapi-types-block.o
CC qapi/qapi-types-char.o
CC qapi/qapi-types-common.o
CC qapi/qapi-types-crypto.o
CC qapi/qapi-types-job.o
CC qapi/qapi-types-introspect.o
CC qapi/qapi-types-migration.o
CC qapi/qapi-types-misc.o
CC qapi/qapi-types-net.o
CC qapi/qapi-types-rocker.o
CC qapi/qapi-types-run-state.o
CC qapi/qapi-types-sockets.o
CC qapi/qapi-types-tpm.o
CC qapi/qapi-types-trace.o
CC qapi/qapi-types-transaction.o
CC qapi/qapi-types-ui.o
CC qapi/qapi-builtin-visit.o
CC qapi/qapi-visit.o
CC qapi/qapi-visit-block-core.o
CC qapi/qapi-visit-block.o
CC qapi/qapi-visit-char.o
CC qapi/qapi-visit-common.o
CC qapi/qapi-visit-crypto.o
CC qapi/qapi-visit-introspect.o
CC qapi/qapi-visit-job.o
CC qapi/qapi-visit-migration.o
CC qapi/qapi-visit-misc.o
CC qapi/qapi-visit-net.o
CC qapi/qapi-visit-rocker.o
CC qapi/qapi-visit-run-state.o
CC qapi/qapi-visit-sockets.o
CC qapi/qapi-visit-tpm.o
CC qapi/qapi-visit-trace.o
CC qapi/qapi-visit-transaction.o
CC qapi/qapi-visit-ui.o
CC qapi/qapi-events.o
CC qapi/qapi-events-block-core.o
CC qapi/qapi-events-block.o
CC qapi/qapi-events-char.o
CC qapi/qapi-events-common.o
CC qapi/qapi-events-crypto.o
CC qapi/qapi-events-introspect.o
CC qapi/qapi-events-job.o
CC qapi/qapi-events-migration.o
CC qapi/qapi-events-misc.o
CC qapi/qapi-events-net.o
CC qapi/qapi-events-rocker.o
CC qapi/qapi-events-run-state.o
CC qapi/qapi-events-sockets.o
CC qapi/qapi-events-tpm.o
CC qapi/qapi-events-trace.o
CC qapi/qapi-events-transaction.o
CC qapi/qapi-events-ui.o
CC qapi/qapi-introspect.o
CC qapi/qapi-visit-core.o
CC qapi/qapi-dealloc-visitor.o
CC qapi/qobject-input-visitor.o
CC qapi/qobject-output-visitor.o
CC qapi/qmp-registry.o
CC qapi/qmp-dispatch.o
CC qapi/string-input-visitor.o
CC qapi/string-output-visitor.o
CC qapi/opts-visitor.o
CC qapi/qapi-clone-visitor.o
CC qapi/qmp-event.o
CC qapi/qapi-util.o
CC qobject/qnull.o
CC qobject/qnum.o
CC qobject/qstring.o
CC qobject/qdict.o
CC qobject/qlist.o
CC qobject/qbool.o
CC qobject/qlit.o
In file included from /tmp/qemu-test/src/include/qemu/bitops.h:16:0,
from /tmp/qemu-test/src/include/qemu/timer.h:5,
from /tmp/qemu-test/src/include/sysemu/sysemu.h:7,
from /tmp/qemu-test/src/qapi/qmp-dispatch.c:20:
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'mulu64':
/tmp/qemu-test/src/include/qemu/host-utils.h:34:5: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: note: each undeclared identifier is reported only once for each function it appears in
/tmp/qemu-test/src/include/qemu/host-utils.h:34:34: error: expected ',' or ';' before 'a'
__uint128_t r = (__uint128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:36:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muls64':
/tmp/qemu-test/src/include/qemu/host-utils.h:42:5: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:21: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:32: error: expected ',' or ';' before 'a'
__int128_t r = (__int128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:44:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muldiv64':
/tmp/qemu-test/src/include/qemu/host-utils.h:50:13: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
return (__int128_t)a * b / c;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:50:24: error: expected ';' before 'a'
return (__int128_t)a * b / c;
^
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divu128':
/tmp/qemu-test/src/include/qemu/host-utils.h:58:9: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:58:34: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:59:21: error: expected ';' before 'result'
__uint128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:60:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divs128':
/tmp/qemu-test/src/include/qemu/host-utils.h:71:9: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:71:33: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:72:20: error: expected ';' before 'result'
__int128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:73:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
cc1: all warnings being treated as errors
CC qobject/qjson.o
make: *** [/tmp/qemu-test/src/rules.mak:69: qapi/qmp-dispatch.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from /tmp/qemu-test/src/qapi/string-output-visitor.c:17:0:
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'mulu64':
/tmp/qemu-test/src/include/qemu/host-utils.h:34:5: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: note: each undeclared identifier is reported only once for each function it appears in
/tmp/qemu-test/src/include/qemu/host-utils.h:34:34: error: expected ',' or ';' before 'a'
__uint128_t r = (__uint128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:36:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muls64':
/tmp/qemu-test/src/include/qemu/host-utils.h:42:5: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:21: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:32: error: expected ',' or ';' before 'a'
__int128_t r = (__int128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:44:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muldiv64':
/tmp/qemu-test/src/include/qemu/host-utils.h:50:13: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
return (__int128_t)a * b / c;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:50:24: error: expected ';' before 'a'
return (__int128_t)a * b / c;
^
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divu128':
/tmp/qemu-test/src/include/qemu/host-utils.h:58:9: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:58:34: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:59:21: error: expected ';' before 'result'
__uint128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:60:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divs128':
/tmp/qemu-test/src/include/qemu/host-utils.h:71:9: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:71:33: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:72:20: error: expected ';' before 'result'
__int128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:73:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
cc1: all warnings being treated as errors
make: *** [/tmp/qemu-test/src/rules.mak:69: qapi/string-output-visitor.o] Error 1
In file included from /tmp/qemu-test/src/include/qemu/bitops.h:16:0,
from /tmp/qemu-test/src/include/qemu/bitmap.h:16,
from /tmp/qemu-test/src/include/hw/qdev-core.h:5,
from /tmp/qemu-test/src/include/qom/cpu.h:23,
from /tmp/qemu-test/src/trace/control-internal.h:13,
from /tmp/qemu-test/src/trace/control.h:270,
from /tmp/qemu-test/build/qapi/trace.h:7,
from /tmp/qemu-test/src/qapi/qapi-visit-core.c:21:
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'mulu64':
/tmp/qemu-test/src/include/qemu/host-utils.h:34:5: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: note: each undeclared identifier is reported only once for each function it appears in
/tmp/qemu-test/src/include/qemu/host-utils.h:34:34: error: expected ',' or ';' before 'a'
__uint128_t r = (__uint128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:36:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muls64':
/tmp/qemu-test/src/include/qemu/host-utils.h:42:5: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:21: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:32: error: expected ',' or ';' before 'a'
__int128_t r = (__int128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:44:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muldiv64':
/tmp/qemu-test/src/include/qemu/host-utils.h:50:13: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
return (__int128_t)a * b / c;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:50:24: error: expected ';' before 'a'
return (__int128_t)a * b / c;
^
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divu128':
/tmp/qemu-test/src/include/qemu/host-utils.h:58:9: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:58:34: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:59:21: error: expected ';' before 'result'
__uint128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:60:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divs128':
/tmp/qemu-test/src/include/qemu/host-utils.h:71:9: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:71:33: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:72:20: error: expected ';' before 'result'
__int128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:73:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
cc1: all warnings being treated as errors
make: *** [/tmp/qemu-test/src/rules.mak:69: qapi/qapi-visit-core.o] Error 1
Traceback (most recent call last):
File "./tests/docker/docker.py", line 563, in <module>
sys.exit(main())
File "./tests/docker/docker.py", line 560, in main
return args.cmdobj.run(args, argv)
File "./tests/docker/docker.py", line 306, in run
return Docker().run(argv, args.keep, quiet=args.quiet)
File "./tests/docker/docker.py", line 274, in run
quiet=quiet)
File "./tests/docker/docker.py", line 181, in _do_check
return subprocess.check_call(self._command + cmd, **kwargs)
File "/usr/lib64/python2.7/subprocess.py", line 542, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=f2618952f72011e8a37868b59973b7d0', '-u', '1001', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-qr875vmm/src/docker-src.2018-12-03-12.28.49.24278:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-mingw']' returned non-zero exit status 2
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-qr875vmm/src'
make: *** [docker-run-test-mingw@fedora] Error 2
real 7m38.906s
user 0m17.581s
sys 0m3.837s
=== OUTPUT END ===
Test command exited with code: 2
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions
2018-12-03 14:05 [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions Thomas Huth
` (7 preceding siblings ...)
2018-12-03 17:36 ` [Qemu-devel] [PATCH for-4.0 0/7] Assume GCC v4.8 and Clang v3.4 as minimum compiler versions no-reply
@ 2018-12-04 2:36 ` no-reply
8 siblings, 0 replies; 23+ messages in thread
From: no-reply @ 2018-12-04 2:36 UTC (permalink / raw)
To: thuth; +Cc: famz, qemu-devel, peter.maydell, pbonzini, rth
Patchew URL: https://patchew.org/QEMU/1543845937-300-1-git-send-email-thuth@redhat.com/
Hi,
This series failed the docker-mingw@fedora build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.
=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-mingw@fedora SHOW_ENV=1 J=8
=== TEST SCRIPT END ===
from /tmp/qemu-test/build/qapi/trace.h:7,
from /tmp/qemu-test/src/qapi/qapi-visit-core.c:21:
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'mulu64':
/tmp/qemu-test/src/include/qemu/host-utils.h:34:5: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: note: each undeclared identifier is reported only once for each function it appears in
/tmp/qemu-test/src/include/qemu/host-utils.h:34:34: error: expected ',' or ';' before 'a'
__uint128_t r = (__uint128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:36:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muls64':
/tmp/qemu-test/src/include/qemu/host-utils.h:42:5: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:21: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:32: error: expected ',' or ';' before 'a'
__int128_t r = (__int128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:44:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muldiv64':
/tmp/qemu-test/src/include/qemu/host-utils.h:50:13: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
return (__int128_t)a * b / c;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:50:24: error: expected ';' before 'a'
return (__int128_t)a * b / c;
^
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divu128':
/tmp/qemu-test/src/include/qemu/host-utils.h:58:9: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:58:34: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:59:21: error: expected ';' before 'result'
__uint128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:60:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divs128':
/tmp/qemu-test/src/include/qemu/host-utils.h:71:9: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:71:33: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:72:20: error: expected ';' before 'result'
__int128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:73:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
cc1: all warnings being treated as errors
---
from /tmp/qemu-test/src/include/sysemu/sysemu.h:7,
from /tmp/qemu-test/src/qapi/qmp-dispatch.c:20:
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'mulu64':
/tmp/qemu-test/src/include/qemu/host-utils.h:34:5: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: note: each undeclared identifier is reported only once for each function it appears in
/tmp/qemu-test/src/include/qemu/host-utils.h:34:34: error: expected ',' or ';' before 'a'
__uint128_t r = (__uint128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:36:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muls64':
/tmp/qemu-test/src/include/qemu/host-utils.h:42:5: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:21: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:32: error: expected ',' or ';' before 'a'
__int128_t r = (__int128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:44:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muldiv64':
/tmp/qemu-test/src/include/qemu/host-utils.h:50:13: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
return (__int128_t)a * b / c;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:50:24: error: expected ';' before 'a'
return (__int128_t)a * b / c;
^
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divu128':
/tmp/qemu-test/src/include/qemu/host-utils.h:58:9: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:58:34: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:59:21: error: expected ';' before 'result'
__uint128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:60:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divs128':
/tmp/qemu-test/src/include/qemu/host-utils.h:71:9: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:71:33: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:72:20: error: expected ';' before 'result'
__int128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:73:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
cc1: all warnings being treated as errors
In file included from /tmp/qemu-test/src/qapi/string-output-visitor.c:17:0:
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'mulu64':
/tmp/qemu-test/src/include/qemu/host-utils.h:34:5: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t r = (__uint128_t)a * b;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:34:22: note: each undeclared identifier is reported only once for each function it appears in
/tmp/qemu-test/src/include/qemu/host-utils.h:34:34: error: expected ',' or ';' before 'a'
__uint128_t r = (__uint128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:36:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muls64':
/tmp/qemu-test/src/include/qemu/host-utils.h:42:5: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:21: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t r = (__int128_t)a * b;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:42:32: error: expected ',' or ';' before 'a'
__int128_t r = (__int128_t)a * b;
^
/tmp/qemu-test/src/include/qemu/host-utils.h:44:16: error: right shift count >= width of type [-Werror=shift-count-overflow]
*phigh = r >> 64;
^~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'muldiv64':
/tmp/qemu-test/src/include/qemu/host-utils.h:50:13: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
return (__int128_t)a * b / c;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:50:24: error: expected ';' before 'a'
return (__int128_t)a * b / c;
^
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divu128':
/tmp/qemu-test/src/include/qemu/host-utils.h:58:9: error: unknown type name '__uint128_t'; did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:58:34: error: '__uint128_t' undeclared (first use in this function); did you mean '__int128'?
__uint128_t dividend = ((__uint128_t)*phigh << 64) | *plow;
^~~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:59:21: error: expected ';' before 'result'
__uint128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:60:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h: In function 'divs128':
/tmp/qemu-test/src/include/qemu/host-utils.h:71:9: error: unknown type name '__int128_t'; did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:71:33: error: '__int128_t' undeclared (first use in this function); did you mean '__int128'?
__int128_t dividend = ((__int128_t)*phigh << 64) | *plow;
^~~~~~~~~~
__int128
/tmp/qemu-test/src/include/qemu/host-utils.h:72:20: error: expected ';' before 'result'
__int128_t result = dividend / divisor;
^~~~~~
/tmp/qemu-test/src/include/qemu/host-utils.h:73:17: error: 'result' undeclared (first use in this function)
*plow = result;
^~~~~~
cc1: all warnings being treated as errors
The full log is available at
http://patchew.org/logs/1543845937-300-1-git-send-email-thuth@redhat.com/testing.docker-mingw@fedora/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 23+ messages in thread