All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/3] Enable MC/DC support for GCOV
@ 2025-03-27  0:40 Volodymyr Babchuk
  2025-03-27  0:40 ` [PATCH v1 1/3] xen: gcov: add support for gcc 14.1 Volodymyr Babchuk
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Volodymyr Babchuk @ 2025-03-27  0:40 UTC (permalink / raw)
  To: xen-devel@lists.xenproject.org
  Cc: Volodymyr Babchuk, Andrew Cooper, Anthony PERARD, Michal Orzel,
	Jan Beulich, Julien Grall, Roger Pau Monné,
	Stefano Stabellini

This series enables MC/DC for Xen when building with GCC.

Condition coverage, also known as MC/DC (modified condition/decision
coverage) is a coverage metric that tracks separate outcomes in
boolean expressions. This metric is used in critical software
components, so it natural to collect it for Xen.

Second patch in the series ("xen: x86: irq: initialize irq desc in
create_irq()") deals with unexpected GCC issue. I haven't found a
better way to fix it.

This series support only GCC, although Clang, starting with clang 18.
supports similar feature. But Clang 18 uses raw profiling format
version 10, while Xen supports only version 4, and there are quite
substantial changes in headers and structures, so adding new version
format is non-trivial. Also, Xen built for aarch64 with clang 19.1.17
and code coverage enabled, completely hangs up during boot, so there
is clearly more work required. But at least we can have MC/DC with GCOV.

Volodymyr Babchuk (3):
  xen: gcov: add support for gcc 14.1
  xen: x86: irq: initialize irq desc in create_irq()
  xen: debug: gcov: add condition coverage support

 xen/Kconfig.debug               | 9 +++++++++
 xen/Rules.mk                    | 3 +++
 xen/arch/x86/irq.c              | 2 +-
 xen/common/coverage/gcc_4_7.c   | 8 +++++++-
 xen/common/coverage/gcov_base.c | 5 +++++
 5 files changed, 25 insertions(+), 2 deletions(-)

-- 
2.48.1

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

end of thread, other threads:[~2025-03-28 11:35 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-27  0:40 [PATCH v1 0/3] Enable MC/DC support for GCOV Volodymyr Babchuk
2025-03-27  0:40 ` [PATCH v1 1/3] xen: gcov: add support for gcc 14.1 Volodymyr Babchuk
2025-03-27  7:55   ` Jan Beulich
2025-03-27 22:03     ` Volodymyr Babchuk
2025-03-28  6:42       ` Andrew Cooper
2025-03-28 11:35         ` Volodymyr Babchuk
2025-03-27  0:40 ` [PATCH v1 2/3] xen: x86: irq: initialize irq desc in create_irq() Volodymyr Babchuk
2025-03-27  8:03   ` Jan Beulich
2025-03-27  8:37     ` Nicola Vetrini
2025-03-27  9:00       ` Nicola Vetrini
2025-03-27 13:10         ` Stewart Hildebrand
2025-03-27  0:40 ` [PATCH v1 3/3] xen: debug: gcov: add condition coverage support Volodymyr Babchuk
2025-03-27  8:08   ` Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.