On 17/05/2025 12:21 am, Stefano Stabellini wrote: > diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl > b/automation/eclair_analysis/ECLAIR/deviations.ecl > index 9c67358d46..3fb6d9f971 100644 > --- a/automation/eclair_analysis/ECLAIR/deviations.ecl > +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl > @@ -72,11 +72,19 @@ they are not instances of commented-out code." > -config=MC3A2.D4.3,reports+={deliberate, > "any_area(any_loc(file(arm64_bitops))&&context(name(int_clear_mask16)))"} > -doc_end > > --doc_begin="Files that are intended to be included more than once do not > need to > -conform to the directive." > +-doc_begin="Files that are intended to be included more than once (and have > +a comment that says this explicitly) do not need to conform to the > directive." > -config=MC3A2.D4.10,reports+={safe, "first_area(text(^/\\* This file is > intended to be included multiple times\\. \\*/$, begin-4))"} > +-config=MC3A2.D4.10,reports+={safe, "first_area(text(^.*Explicitly intended > for multiple inclusion.*$, begin-3))"}
xen.git/xen$ git grep "Explicitly intended for multiple" arch/x86/include/asm/cpufeatures.h:2: * Explicitly intended for multiple inclusion. I'd suggest altering that one file, rather than adding an special exclusion pattern. > +-config=MC3A2.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, > do not edit! \\*/$, begin-2))"} > -config=MC3A2.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, > do not edit! \\*/$, begin-3))"} These seem to only differ by the begin-$N. Why doesn't the regex work in both cases? > --config=MC3A2.D4.10,reports+={safe, > "all_area(all_loc(file(^xen/include/generated/autoconf.h$)))"} > +-doc_end > + > +-doc_begin="Autogenerated files that do not need to conform to the > directive." > +-config=MC3A2.D4.10,reports+={safe, > "all_area(all_loc(file(^xen/include/generated/autoconf\\.h$)))"} > +-config=MC3A2.D4.10,reports+={safe, > "all_area(all_loc(file(^xen/include/xen/compile\\.h$)))"} I see your exception, and raise you some sed. diff --git a/xen/include/xen/compile.h.in b/xen/include/xen/compile.h.in index 3151d1e7d1bf..9206341ba692 100644 --- a/xen/include/xen/compile.h.in +++ b/xen/include/xen/compile.h.in @@ -1,3 +1,6 @@ +#ifndef XEN_COMPILE_H +#define XEN_COMPILE_H + #define XEN_COMPILE_DATE "@@date@@" #define XEN_COMPILE_TIME "@@time@@" #define XEN_COMPILE_BY "@@whoami@@" diff --git a/xen/tools/process-banner.sed b/xen/tools/process-banner.sed index 56c76558bcd9..4cf3f9a1163a 100755 --- a/xen/tools/process-banner.sed +++ b/xen/tools/process-banner.sed @@ -12,3 +12,8 @@ s_(.*)_"\1\\n"_ # Trailing \ on all but the final line. $!s_$_ \\_ + +# Append closing header guard +$a\ +\ +#endif /* XEN_COMPILE_H */ and now compile.h looks like a normal header. ~Andrew