Message ID | 20250114174345.60887-1-roger.pau@citrix.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [for-4.20] automation/gitlab: disable coverage from clang randconfig | expand |
On 14/01/2025 5:43 pm, Roger Pau Monne wrote: > If randconfig enables coverage support the build times out due to GNU LD > taking too long. For the time being prevent coverage from being enabled in > clang randconfig job. > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> > --- > Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com> > --- > I will fix the orphaned section stuff separately, as I'm considering just > removing LLVM coverage support because the llvm coverage format is not > stable, and the code to dump it has already become stale. However I need > to think about it, and in the short term disabling coverage support from > randconfig is more straightforward. Oh, so it's broken too? Unless the fix is trivial, we should have a Kconfig level disable on it. No point letting people turn on something that's broken. ~Andrew
On Tue, 14 Jan 2025, Andrew Cooper wrote: > On 14/01/2025 5:43 pm, Roger Pau Monne wrote: > > If randconfig enables coverage support the build times out due to GNU LD > > taking too long. For the time being prevent coverage from being enabled in > > clang randconfig job. > > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > > Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
On Tue, Jan 14, 2025 at 05:48:20PM +0000, Andrew Cooper wrote: > On 14/01/2025 5:43 pm, Roger Pau Monne wrote: > > If randconfig enables coverage support the build times out due to GNU LD > > taking too long. For the time being prevent coverage from being enabled in > > clang randconfig job. > > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > > Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> Thanks. > > --- > > Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com> > > --- > > I will fix the orphaned section stuff separately, as I'm considering just > > removing LLVM coverage support because the llvm coverage format is not > > stable, and the code to dump it has already become stale. However I need > > to think about it, and in the short term disabling coverage support from > > randconfig is more straightforward. > > Oh, so it's broken too? Unless the fix is trivial, we should have a > Kconfig level disable on it. No point letting people turn on something > that's broken. It's not build time broken, but the format of the buffer that we return in llvm.c dump() function has gotten out of sync with the native format in modern clang versions, and hence coverage tools will refuse to parse it. I think newer versions of llvm/clang have now included an internal function to dump the buffer, so that we no longer have to attempt to generate it from Xen, I need to see whether that works. Otherwise the only remaining option is to convert the llvm data into gcov format (which is stable), IIRC this is what Linux did. Thanks, Roger.
On 14.01.2025 18:43, Roger Pau Monne wrote: > If randconfig enables coverage support the build times out due to GNU LD > taking too long. For the time being prevent coverage from being enabled in > clang randconfig job. Just curious: How long is "too long" in this case? Jan
On 15/01/2025 8:19 am, Jan Beulich wrote: > On 14.01.2025 18:43, Roger Pau Monne wrote: >> If randconfig enables coverage support the build times out due to GNU LD >> taking too long. For the time being prevent coverage from being enabled in >> clang randconfig job. > Just curious: How long is "too long" in this case? Timeout is currently at 1h, for what is a single build of the hypervisor. ~Andrew
On Wed, Jan 15, 2025 at 09:19:29AM +0100, Jan Beulich wrote: > On 14.01.2025 18:43, Roger Pau Monne wrote: > > If randconfig enables coverage support the build times out due to GNU LD > > taking too long. For the time being prevent coverage from being enabled in > > clang randconfig job. > > Just curious: How long is "too long" in this case? Left it for >30min stuck on the final linker invocation IIRC and it hadn't finished, so no idea really. This was also running on a docker x86-64 container on my ARM mac, so there was an extra layer of emulation. Thanks, Roger.
On 1/14/25 6:43 PM, Roger Pau Monne wrote: > If randconfig enables coverage support the build times out due to GNU LD > taking too long. For the time being prevent coverage from being enabled in > clang randconfig job. > > Signed-off-by: Roger Pau Monné<roger.pau@citrix.com> R-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com> ~ Oleksii > --- > Cc: Oleksii Kurochko<oleksii.kurochko@gmail.com> > --- > I will fix the orphaned section stuff separately, as I'm considering just > removing LLVM coverage support because the llvm coverage format is not > stable, and the code to dump it has already become stale. However I need > to think about it, and in the short term disabling coverage support from > randconfig is more straightforward. > --- > automation/gitlab-ci/build.yaml | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml > index cb84f379b754..bc4a8a5ad20c 100644 > --- a/automation/gitlab-ci/build.yaml > +++ b/automation/gitlab-ci/build.yaml > @@ -556,6 +556,8 @@ debian-12-x86_64-clang-randconfig: > variables: > CONTAINER: debian:12-x86_64 > RANDCONFIG: y > + EXTRA_FIXED_RANDCONFIG: | > + CONFIG_COVERAGE=n # Disable coverage otherwise build times out. > > debian-12-x86_64-gcc: > extends: .gcc-x86-64-build
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml index cb84f379b754..bc4a8a5ad20c 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -556,6 +556,8 @@ debian-12-x86_64-clang-randconfig: variables: CONTAINER: debian:12-x86_64 RANDCONFIG: y + EXTRA_FIXED_RANDCONFIG: | + CONFIG_COVERAGE=n # Disable coverage otherwise build times out. debian-12-x86_64-gcc: extends: .gcc-x86-64-build
If randconfig enables coverage support the build times out due to GNU LD taking too long. For the time being prevent coverage from being enabled in clang randconfig job. Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> --- Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com> --- I will fix the orphaned section stuff separately, as I'm considering just removing LLVM coverage support because the llvm coverage format is not stable, and the code to dump it has already become stale. However I need to think about it, and in the short term disabling coverage support from randconfig is more straightforward. --- automation/gitlab-ci/build.yaml | 2 ++ 1 file changed, 2 insertions(+)