diff mbox series

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

Message ID 7b60faa6e627b3a4df298f2ef4d9ba4d72e5e206.1713510915.git.nicola.vetrini@bugseng.com (mailing list archive)
State Superseded
Headers show
Series [XEN,v2] automation/eclair_analysis: substitute deprecated service STD.emptrecd | expand

Commit Message

Nicola Vetrini April 19, 2024, 7:16 a.m. UTC
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(-)

Comments

Jan Beulich April 19, 2024, 7:35 a.m. UTC | #1
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
Nicola Vetrini April 19, 2024, 7:49 a.m. UTC | #2
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.
Jan Beulich April 19, 2024, 9:21 a.m. UTC | #3
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.
>
Nicola Vetrini April 19, 2024, 1:01 p.m. UTC | #4
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."
Jan Beulich April 19, 2024, 2:26 p.m. UTC | #5
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
diff mbox series

Patch

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"."