* [PATCH] ci: ECLAIR: avoid intercepting intermediate linking steps
@ 2026-05-14 10:16 Nicola Vetrini
2026-05-14 10:38 ` Andrew Cooper
0 siblings, 1 reply; 4+ messages in thread
From: Nicola Vetrini @ 2026-05-14 10:16 UTC (permalink / raw)
To: xen-devel
Cc: consulting, Nicola Vetrini, Doug Goldstein, Stefano Stabellini,
Jan Beulich, Andrew Cooper
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
These do not add any value to the analysis other than duplicating some reports
in whole-program analysis, as the intermediate linking steps are only used to
build the symbol table.
Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Pipeline: https://gitlab.com/xen-project/people/bugseng/xen/-/pipelines/2524548198
A significant reduction in wallclock time can be seen for both arm64 and x86_64 jobs,
with no impact on correctness as far as I'm aware.
---
automation/eclair_analysis/ECLAIR/analysis.ecl | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
index 399099938f..ec37f7eff5 100644
--- a/automation/eclair_analysis/ECLAIR/analysis.ecl
+++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
@@ -34,6 +34,13 @@ their Standard Library equivalents."
-doc_end
+-doc_begin="Do not analyze intermediate linking artifacts, as they do not differ from their final
+counterparts for the purposes of MISRA C static analysis."
+-file_tag+={xen_efi, "^xen/\\.xen\\.efi\\..*$"}
+-file_tag+={xen_syms, "^xen/\\.xen-syms\\.[0-9]+$"}
+-frames+={hide, "kind(program)&&target(xen_syms||xen_efi)"}
+-doc_end
+
-eval_file=toolchain.ecl
-eval_file=public_APIs.ecl
--
2.54.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] ci: ECLAIR: avoid intercepting intermediate linking steps
2026-05-14 10:16 [PATCH] ci: ECLAIR: avoid intercepting intermediate linking steps Nicola Vetrini
@ 2026-05-14 10:38 ` Andrew Cooper
2026-05-14 11:01 ` Nicola Vetrini
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Cooper @ 2026-05-14 10:38 UTC (permalink / raw)
To: Nicola Vetrini, xen-devel
Cc: Andrew Cooper, consulting, Nicola Vetrini, Doug Goldstein,
Stefano Stabellini, Jan Beulich
On 14/05/2026 11:16 am, Nicola Vetrini wrote:
> From: Nicola Vetrini <nicola.vetrini@bugseng.com>
>
> These do not add any value to the analysis other than duplicating some reports
> in whole-program analysis, as the intermediate linking steps are only used to
> build the symbol table.
>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> Pipeline: https://gitlab.com/xen-project/people/bugseng/xen/-/pipelines/2524548198
>
> A significant reduction in wallclock time can be seen for both arm64 and x86_64 jobs,
> with no impact on correctness as far as I'm aware.
Yes, a very nice improvement. I suspect this wants backporting to
stable trees too?
> ---
> automation/eclair_analysis/ECLAIR/analysis.ecl | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
> index 399099938f..ec37f7eff5 100644
> --- a/automation/eclair_analysis/ECLAIR/analysis.ecl
> +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
> @@ -34,6 +34,13 @@ their Standard Library equivalents."
>
> -doc_end
>
> +-doc_begin="Do not analyze intermediate linking artifacts, as they do not differ from their final
> +counterparts for the purposes of MISRA C static analysis."
> +-file_tag+={xen_efi, "^xen/\\.xen\\.efi\\..*$"}
> +-file_tag+={xen_syms, "^xen/\\.xen-syms\\.[0-9]+$"}
> +-frames+={hide, "kind(program)&&target(xen_syms||xen_efi)"}
> +-doc_end
Why the difference in suffix in the regex? Slightly rhetorical because
it's the full link address so includes an x for 0x.
But, the two regexs for suffixes really ought to be the same, so I
suppose we should exclude .* for xen_syms too?
For the sake of clarity, do the names xen_efi and xen_syms want a _tmp
or _intermediate suffix, just to make things a bit clearer?
~Andrew
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ci: ECLAIR: avoid intercepting intermediate linking steps
2026-05-14 10:38 ` Andrew Cooper
@ 2026-05-14 11:01 ` Nicola Vetrini
2026-05-14 11:04 ` Andrew Cooper
0 siblings, 1 reply; 4+ messages in thread
From: Nicola Vetrini @ 2026-05-14 11:01 UTC (permalink / raw)
To: Andrew Cooper
Cc: Nicola Vetrini, xen-devel, consulting, Doug Goldstein,
Stefano Stabellini, Jan Beulich
On 2026-05-14 12:38, Andrew Cooper wrote:
> On 14/05/2026 11:16 am, Nicola Vetrini wrote:
>> From: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>
>> These do not add any value to the analysis other than duplicating some
>> reports
>> in whole-program analysis, as the intermediate linking steps are only
>> used to
>> build the symbol table.
>>
>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> Pipeline:
>> https://gitlab.com/xen-project/people/bugseng/xen/-/pipelines/2524548198
>>
>> A significant reduction in wallclock time can be seen for both arm64
>> and x86_64 jobs,
>> with no impact on correctness as far as I'm aware.
>
> Yes, a very nice improvement. I suspect this wants backporting to
> stable trees too?
>
Perhaps. Is the rate of analysis significant there?
>> ---
>> automation/eclair_analysis/ECLAIR/analysis.ecl | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl
>> b/automation/eclair_analysis/ECLAIR/analysis.ecl
>> index 399099938f..ec37f7eff5 100644
>> --- a/automation/eclair_analysis/ECLAIR/analysis.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
>> @@ -34,6 +34,13 @@ their Standard Library equivalents."
>>
>> -doc_end
>>
>> +-doc_begin="Do not analyze intermediate linking artifacts, as they do
>> not differ from their final
>> +counterparts for the purposes of MISRA C static analysis."
>> +-file_tag+={xen_efi, "^xen/\\.xen\\.efi\\..*$"}
>> +-file_tag+={xen_syms, "^xen/\\.xen-syms\\.[0-9]+$"}
>> +-frames+={hide, "kind(program)&&target(xen_syms||xen_efi)"}
>> +-doc_end
>
> Why the difference in suffix in the regex? Slightly rhetorical because
> it's the full link address so includes an x for 0x.
>
> But, the two regexs for suffixes really ought to be the same, so I
> suppose we should exclude .* for xen_syms too?
>
Fine with me.
> For the sake of clarity, do the names xen_efi and xen_syms want a _tmp
> or _intermediate suffix, just to make things a bit clearer?
>
Ack
--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ci: ECLAIR: avoid intercepting intermediate linking steps
2026-05-14 11:01 ` Nicola Vetrini
@ 2026-05-14 11:04 ` Andrew Cooper
0 siblings, 0 replies; 4+ messages in thread
From: Andrew Cooper @ 2026-05-14 11:04 UTC (permalink / raw)
To: Nicola Vetrini
Cc: Andrew Cooper, Nicola Vetrini, xen-devel, consulting,
Doug Goldstein, Stefano Stabellini, Jan Beulich
On 14/05/2026 12:01 pm, Nicola Vetrini wrote:
> On 2026-05-14 12:38, Andrew Cooper wrote:
>> On 14/05/2026 11:16 am, Nicola Vetrini wrote:
>>> From: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>
>>> These do not add any value to the analysis other than duplicating
>>> some reports
>>> in whole-program analysis, as the intermediate linking steps are
>>> only used to
>>> build the symbol table.
>>>
>>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> Pipeline:
>>> https://gitlab.com/xen-project/people/bugseng/xen/-/pipelines/2524548198
>>>
>>>
>>> A significant reduction in wallclock time can be seen for both arm64
>>> and x86_64 jobs,
>>> with no impact on correctness as far as I'm aware.
>>
>> Yes, a very nice improvement. I suspect this wants backporting to
>> stable trees too?
>>
>
> Perhaps. Is the rate of analysis significant there?
Security content drops on all trees at once. Even shaving 5 minutes per
tree (and it's more than that) makes a half our improvement in wallclock
time for CI to complete.
>
>>> ---
>>> automation/eclair_analysis/ECLAIR/analysis.ecl | 7 +++++++
>>> 1 file changed, 7 insertions(+)
>>>
>>> diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl
>>> b/automation/eclair_analysis/ECLAIR/analysis.ecl
>>> index 399099938f..ec37f7eff5 100644
>>> --- a/automation/eclair_analysis/ECLAIR/analysis.ecl
>>> +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
>>> @@ -34,6 +34,13 @@ their Standard Library equivalents."
>>>
>>> -doc_end
>>>
>>> +-doc_begin="Do not analyze intermediate linking artifacts, as they
>>> do not differ from their final
>>> +counterparts for the purposes of MISRA C static analysis."
>>> +-file_tag+={xen_efi, "^xen/\\.xen\\.efi\\..*$"}
>>> +-file_tag+={xen_syms, "^xen/\\.xen-syms\\.[0-9]+$"}
>>> +-frames+={hide, "kind(program)&&target(xen_syms||xen_efi)"}
>>> +-doc_end
>>
>> Why the difference in suffix in the regex? Slightly rhetorical because
>> it's the full link address so includes an x for 0x.
>>
>> But, the two regexs for suffixes really ought to be the same, so I
>> suppose we should exclude .* for xen_syms too?
>>
>
> Fine with me.
>
>> For the sake of clarity, do the names xen_efi and xen_syms want a _tmp
>> or _intermediate suffix, just to make things a bit clearer?
>>
>
> Ack
>
Ok, I'll fix up on commit. Reviewed-by: Andrew Cooper
<andrew.cooper3@citrix.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-05-14 11:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-14 10:16 [PATCH] ci: ECLAIR: avoid intercepting intermediate linking steps Nicola Vetrini
2026-05-14 10:38 ` Andrew Cooper
2026-05-14 11:01 ` Nicola Vetrini
2026-05-14 11:04 ` Andrew Cooper
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.