|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] automation/eclair: make the docs for MISRA C:2012 Dir 4.1 visible to ECLAIR
commit ddf664a557d02e4d9cd68e66814faedc4a2a7a13
Author: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
AuthorDate: Fri Nov 17 09:53:25 2023 +0100
Commit: Julien Grall <julien@xxxxxxx>
CommitDate: Wed Nov 29 18:25:38 2023 +0100
automation/eclair: make the docs for MISRA C:2012 Dir 4.1 visible to ECLAIR
To be able to check for the existence of the necessary subsections in
the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
file that is built.
This file is generated from 'C-runtime-failures.rst' in docs/misra
and the configuration is updated accordingly.
Signed-off-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
---
automation/eclair_analysis/build.sh | 31 +++++++++++++++++++++++++++----
automation/eclair_analysis/prepare.sh | 7 ++++---
2 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/automation/eclair_analysis/build.sh
b/automation/eclair_analysis/build.sh
index ec087dd822..122b93b805 100755
--- a/automation/eclair_analysis/build.sh
+++ b/automation/eclair_analysis/build.sh
@@ -33,12 +33,35 @@ else
PROCESSORS=6
fi
+# Variables driving the build
+CC=${CROSS_COMPILE}gcc-12
+CXX=${CROSS_COMPILE}g++-12
+
+runtime_failures_docs() {
+ doc="C-runtime-failures.rst"
+ builddir="automation/eclair_analysis"
+
+ cd "${builddir}"
+ printf "/*\n\n" >"${doc}.c"
+ sed -e 's|\*/|*//*|g' "../../docs/misra/${doc}" >>"${doc}.c"
+
+ # At least a dummy decl is needed to comply with the C standard.
+ printf "\n\n*/\ntypedef int dummy_typedef;\n" >>"${doc}.c"
+
+ # The C language standard applicable to Xen is C99 (with extensions),
+ # therefore even this dummy file needs to be compiled with -std=c99.
+ # Cannot redirect to /dev/null because it would be excluded from the analysis
+ "${CC}" -std=c99 -c "${doc}.c" -o "${doc}.o"
+ cd -
+}
+
(
- cd xen
+ runtime_failures_docs
make "-j${PROCESSORS}" "-l${PROCESSORS}.0" \
"CROSS_COMPILE=${CROSS_COMPILE}" \
- "CC=${CROSS_COMPILE}gcc-12" \
- "CXX=${CROSS_COMPILE}g++-12" \
- "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}"
+ "CC=${CC}" \
+ "CXX=${CXX}" \
+ "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}" \
+ -C xen
)
diff --git a/automation/eclair_analysis/prepare.sh
b/automation/eclair_analysis/prepare.sh
index 0cac5eba00..fe9d16e48e 100755
--- a/automation/eclair_analysis/prepare.sh
+++ b/automation/eclair_analysis/prepare.sh
@@ -35,11 +35,12 @@ else
fi
(
- cd xen
- cp "${CONFIG_FILE}" .config
+ ./configure
+ cp "${CONFIG_FILE}" xen/.config
make clean
find . -type f -name "*.safparse" -print -delete
- make -f ${script_dir}/Makefile.prepare prepare
+ cd xen
+ make -f "${script_dir}/Makefile.prepare" prepare
# Translate the /* SAF-n-safe */ comments into ECLAIR CBTs
scripts/xen-analysis.py --run-eclair --no-build --no-clean
)
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |