Mailing List Archive

[XEN PATCH v2] automation/eclair_analysis: substitute deprecated service STD.emptrecd
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 [ In reply to ]
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 [ In reply to ]
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 [ In reply to ]
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 [ In reply to ]
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 [ In reply to ]
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