qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/6] Use Clang for compiling in the  64-bit MSYS2 job
@ 2023-07-28 14:27 Thomas Huth
  2023-07-28 14:27 ` [RFC PATCH 1/6] gitlab: remove duplication between msys jobs Thomas Huth
                   ` (6 more replies)
  0 siblings, 7 replies; 32+ messages in thread
From: Thomas Huth @ 2023-07-28 14:27 UTC (permalink / raw)
  To: qemu-devel, Daniel P . Berrangé, Marc-André Lureau
  Cc: Stefan Weil, Yonggang Luo, Peter Maydell

The 64-bit MSYS2 job often times out in our CI, though we already have
limited it to a very minimum by using --without-default-devices etc.
GCC is incredibly slow here. By using Clang instead of GCC, the job
is ca. 15 minutes faster - that's enough buffer to avoid the timeouts
here.

The caveat is that Clang does not support __attribute__((gcc_struct))
on Windows. So we have to make sure that our structs are still padded
right. By checking the build with "pahole", Daniel discovered that
there is still an issue in VTD_IR_TableEntry, so that's why this
struct gets changed in this patch series, too. All other structs did
not show a difference with "pahole", so building with Clang should
hopefully be fine after these modifications here.

Daniel P. Berrangé (1):
  gitlab: remove duplication between msys jobs

Marc-André Lureau (1):
  ui/dbus: fix clang compilation issue

Thomas Huth (4):
  util/oslib-win32: Fix compiling with Clang from MSYS2
  hw/i386/intel_iommu: Fix VTD_IR_TableEntry for ms_struct layout
  include/qemu/compiler: Fix problem with gcc_struct and Clang
  gitlab-ci.d/windows: Use Clang for compiling in the 64-bit MSYS2 job

 include/hw/i386/intel_iommu.h |  14 ++--
 include/qemu/compiler.h       |   2 +-
 hw/i386/intel_iommu.c         |   2 +-
 ui/dbus-listener.c            |   3 +-
 util/oslib-win32.c            |   4 +-
 .gitlab-ci.d/windows.yml      | 134 +++++++++++++---------------------
 6 files changed, 65 insertions(+), 94 deletions(-)

-- 
2.39.3



^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2023-08-03 16:30 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-28 14:27 [RFC PATCH 0/6] Use Clang for compiling in the 64-bit MSYS2 job Thomas Huth
2023-07-28 14:27 ` [RFC PATCH 1/6] gitlab: remove duplication between msys jobs Thomas Huth
2023-07-28 14:27 ` [RFC PATCH 2/6] ui/dbus: fix clang compilation issue Thomas Huth
2023-07-28 14:27 ` [RFC PATCH 3/6] util/oslib-win32: Fix compiling with Clang from MSYS2 Thomas Huth
2023-07-31 14:20   ` Philippe Mathieu-Daudé
2023-07-28 14:27 ` [RFC PATCH 4/6] hw/i386/intel_iommu: Fix VTD_IR_TableEntry for ms_struct layout Thomas Huth
2023-07-28 14:37   ` Daniel P. Berrangé
2023-07-28 16:39     ` Richard Henderson
2023-07-31  8:20     ` Thomas Huth
2023-07-31 20:26       ` Peter Xu
2023-07-31 20:53         ` Michael S. Tsirkin
2023-07-28 14:27 ` [RFC PATCH 5/6] include/qemu/compiler: Fix problem with gcc_struct and Clang Thomas Huth
2023-07-28 15:13   ` Peter Maydell
2023-07-31  9:10     ` Thomas Huth
2023-07-31  9:32       ` Daniel P. Berrangé
2023-07-31 12:04         ` Thomas Huth
2023-08-03 16:29           ` Daniel P. Berrangé
2023-07-31 14:10         ` Philippe Mathieu-Daudé
2023-07-31 17:25           ` Daniel P. Berrangé
2023-08-01 13:29             ` Philippe Mathieu-Daudé
2023-07-31 10:05       ` Peter Maydell
2023-07-31 12:05         ` Thomas Huth
2023-07-31 12:44         ` Daniel P. Berrangé
2023-08-01 13:49         ` Daniel P. Berrangé
2023-08-01 18:31           ` Thomas Huth
2023-07-31 12:57       ` Daniel P. Berrangé
2023-07-31 14:07         ` Philippe Mathieu-Daudé
2023-07-28 14:27 ` [RFC PATCH 6/6] gitlab-ci.d/windows: Use Clang for compiling in the 64-bit MSYS2 job Thomas Huth
2023-07-31 14:23   ` Philippe Mathieu-Daudé
2023-07-31 14:43     ` Thomas Huth
2023-08-01 13:30       ` Philippe Mathieu-Daudé
2023-08-01 13:35 ` [RFC PATCH 0/6] " Daniel P. Berrangé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).