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