[XEN PATCH v2] automation/eclair_analysis: substitute deprecated service STD.emptrecd

Nicola Vetrini posted 1 patch 1 week, 6 days ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/7b60faa6e627b3a4df298f2ef4d9ba4d72e5e206.1713510915.git.nicola.vetrini@bugseng.com
There is a newer version of this series
automation/eclair_analysis/ECLAIR/toolchain.ecl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[XEN PATCH v2] automation/eclair_analysis: substitute deprecated service STD.emptrecd
Posted by Nicola Vetrini 1 week, 6 days ago
The ECLAIR service STD.emptrecd is being deprecated; hence, as a preventive
measure, STD.anonstct is used here, which for Xen's purposes has equivalent
functionality. This new service is already supported by the current version
of ECLAIR.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
 automation/eclair_analysis/ECLAIR/toolchain.ecl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/toolchain.ecl b/automation/eclair_analysis/ECLAIR/toolchain.ecl
index 71a1e2cce029..86e9a79b5231 100644
--- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
+++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
@@ -44,8 +44,8 @@
 -doc_end
 
 -doc_begin="See Section \"6.19 Structures with No Members\" of "GCC_MANUAL"."
--config=STD.emptrecd,behavior+={c99,GCC_ARM64,specified}
--config=STD.emptrecd,behavior+={c99,GCC_X86_64,specified}
+-config=STD.anonstct,behavior+={c99,GCC_ARM64,specified}
+-config=STD.anonstct,behavior+={c99,GCC_X86_64,specified}
 -doc_end
 
 -doc_begin="See Section \"6.18 Arrays of Length Zero\" of "GCC_MANUAL"."
-- 
2.34.1
Re: [XEN PATCH v2] automation/eclair_analysis: substitute deprecated service STD.emptrecd
Posted by Jan Beulich 1 week, 6 days ago
On 19.04.2024 09:16, Nicola Vetrini wrote:
> The ECLAIR service STD.emptrecd is being deprecated; hence, as a preventive
> measure, STD.anonstct is used here, which for Xen's purposes has equivalent
> functionality.

I'm sorry, but no, this still does not clarify things enough. It is still
entirely unclear how "empty record" can reasonably be substituted by
"anonymous struct". Even the expansion of the respective abbreviations
continues to be just a guess.

Jan
Re: [XEN PATCH v2] automation/eclair_analysis: substitute deprecated service STD.emptrecd
Posted by Nicola Vetrini 1 week, 6 days ago
On 2024-04-19 09:35, Jan Beulich wrote:
> On 19.04.2024 09:16, Nicola Vetrini wrote:
>> The ECLAIR service STD.emptrecd is being deprecated; hence, as a 
>> preventive
>> measure, STD.anonstct is used here, which for Xen's purposes has 
>> equivalent
>> functionality.
> 
> I'm sorry, but no, this still does not clarify things enough. It is 
> still
> entirely unclear how "empty record" can reasonably be substituted by
> "anonymous struct". Even the expansion of the respective abbreviations
> continues to be just a guess.
> 
> Jan

anonstct checks for structs with no named members, hence also empty 
structs, but only the former is an undefined behaviour for C99.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)
Re: [XEN PATCH v2] automation/eclair_analysis: substitute deprecated service STD.emptrecd
Posted by Jan Beulich 1 week, 5 days ago
On 19.04.2024 09:49, Nicola Vetrini wrote:
> On 2024-04-19 09:35, Jan Beulich wrote:
>> On 19.04.2024 09:16, Nicola Vetrini wrote:
>>> The ECLAIR service STD.emptrecd is being deprecated; hence, as a 
>>> preventive
>>> measure, STD.anonstct is used here, which for Xen's purposes has 
>>> equivalent
>>> functionality.
>>
>> I'm sorry, but no, this still does not clarify things enough. It is 
>> still
>> entirely unclear how "empty record" can reasonably be substituted by
>> "anonymous struct". Even the expansion of the respective abbreviations
>> continues to be just a guess.
> 
> anonstct checks for structs with no named members,

So "anonstct" != "anonymous structures". As indicated, part of the
description wants to be de-ciphering of these acronyms, so they can
make sense to readers.

Jan

> hence also empty 
> structs, but only the former is an undefined behaviour for C99.
>
Re: [XEN PATCH v2] automation/eclair_analysis: substitute deprecated service STD.emptrecd
Posted by Nicola Vetrini 1 week, 5 days ago
On 2024-04-19 11:21, Jan Beulich wrote:
> On 19.04.2024 09:49, Nicola Vetrini wrote:
>> On 2024-04-19 09:35, Jan Beulich wrote:
>>> On 19.04.2024 09:16, Nicola Vetrini wrote:
>>>> The ECLAIR service STD.emptrecd is being deprecated; hence, as a
>>>> preventive
>>>> measure, STD.anonstct is used here, which for Xen's purposes has
>>>> equivalent
>>>> functionality.
>>> 
>>> I'm sorry, but no, this still does not clarify things enough. It is
>>> still
>>> entirely unclear how "empty record" can reasonably be substituted by
>>> "anonymous struct". Even the expansion of the respective 
>>> abbreviations
>>> continues to be just a guess.
>> 
>> anonstct checks for structs with no named members,
> 
> So "anonstct" != "anonymous structures". As indicated, part of the
> description wants to be de-ciphering of these acronyms, so they can
> make sense to readers.
> 
> Jan
> 
>> hence also empty
>> structs, but only the former is an undefined behaviour for C99.
>> 

Would this be a sufficiently clear explanation for you?

"The ECLAIR service STD.emptrecd (which checks for empty structures) is 
being deprecated; hence, as a preventive measure, STD.anonstct (which 
checks for structures with no named members, an UB in C99) is used here; 
the latter being a more general case than the previous one, this change 
does not affect the analysis. This new service is already supported by 
the current version of ECLAIR."

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)
Re: [XEN PATCH v2] automation/eclair_analysis: substitute deprecated service STD.emptrecd
Posted by Jan Beulich 1 week, 5 days ago
On 19.04.2024 15:01, Nicola Vetrini wrote:
> On 2024-04-19 11:21, Jan Beulich wrote:
>> On 19.04.2024 09:49, Nicola Vetrini wrote:
>>> On 2024-04-19 09:35, Jan Beulich wrote:
>>>> On 19.04.2024 09:16, Nicola Vetrini wrote:
>>>>> The ECLAIR service STD.emptrecd is being deprecated; hence, as a
>>>>> preventive
>>>>> measure, STD.anonstct is used here, which for Xen's purposes has
>>>>> equivalent
>>>>> functionality.
>>>>
>>>> I'm sorry, but no, this still does not clarify things enough. It is
>>>> still
>>>> entirely unclear how "empty record" can reasonably be substituted by
>>>> "anonymous struct". Even the expansion of the respective 
>>>> abbreviations
>>>> continues to be just a guess.
>>>
>>> anonstct checks for structs with no named members,
>>
>> So "anonstct" != "anonymous structures". As indicated, part of the
>> description wants to be de-ciphering of these acronyms, so they can
>> make sense to readers.
>>
>> Jan
>>
>>> hence also empty
>>> structs, but only the former is an undefined behaviour for C99.
>>>
> 
> Would this be a sufficiently clear explanation for you?
> 
> "The ECLAIR service STD.emptrecd (which checks for empty structures) is 
> being deprecated; hence, as a preventive measure, STD.anonstct (which 
> checks for structures with no named members, an UB in C99) is used here; 
> the latter being a more general case than the previous one, this change 
> does not affect the analysis. This new service is already supported by 
> the current version of ECLAIR."

Yes, this is much better. Thanks.

Jan