8. Constraints¶
8.1. Installation¶
-
RUSTC_CSTR_0010_INSTALL
¶
Associated requirement ID: RUSTC_AVD_CHECK_INSTALL_001
Before using the Ferrocene toolchain, the user shall ensure that the appropriate tool package has been installed, and installation verified according to the verification procedure described in Installation Procedures.
8.2. Cleaning environment variables¶
-
RUSTC_CSTR_0020_CLEAN_ENV
¶
Associated requirement ID: RUSTC_AVD_CHECK_CLEAN_ENV_002
Before using the Ferrocene toolchain, the user shall ensure that the
toolchain is available on the user PATH
variable, and that none of
the disallowed environment variables described in
Degraded Environment
are set.
8.3. Build monitoring¶
-
RUSTC_CSTR_0030_BUILD_MONITORING
¶
Associated requirement ID: RUSTC_AVD_CHECK_BUILD_SCRIPT_003
The user shall inspect the build logs to verify that all actions have been completed, executed in the correct order, and the correctness of the build, and in particular that the proper versions of the tools have been used with the appropriate options.
8.4. Cleaning the build environment¶
-
RUSTC_CSTR_0040_CLEAN
¶
Associated requirement ID: RUSTC_AVD_CLEAN_004
Before building the final version of the safety-related software, the user shall ensure that the build environment is clean of former compilation artifacts, as described in Cleaning the build space.
8.5. Treating warnings as errors¶
-
RUSTC_CSTR_0050_WARNING_ERROR
¶
Associated requirement ID: RUSTC_AVD_WARNING_AS_ERROR_005
The user shall ensure that, for the final build, the option to treat all warnings as errors is activated as described in Warnings and Errors.
8.6. Source modification while building¶
-
RUSTC_CSTR_0060_PARALLEL
¶
Associated requirement ID: RUSTC_AVD_PARALLEL_BUILD_006
The user shall not perform source modification when the build of the safety-related software is in progress.
8.7. Testing¶
-
RUSTC_CSTR_0070_TEST
¶
Associated requirement ID: RUSTC_AVD_TEST_007
The integrated testing objectives of ISO-26262:2018 (Part 8 - Clause 11.4.9) must be performed on the final application or libraries, or on any parts built, using build protocols as close as possible to those used for the final build.
8.8. Problem mitigation¶
-
RUSTC_CSTR_0080_KP
¶
The user shall implement mitigation strategies for known problems documented in the Known Problems manual.
8.9. Tracking new problems¶
-
RUSTC_CSTR_0090_NEW_KP
¶
The user shall regularly inspect the new known problems reported via the mechanism documented in Change Tracking. In case of a new safety impact, the user shall ensure the appropriate mitigation strategies are put in place.
8.10. Ensuring memory safety¶
-
RUSTC_CSTR_0100_UNSAFETY
¶
The user shall identify and evaluate the risks related to all instances of unsafe code as defined in Unsafety, and follow the guidelines outlined in Handling Unsafety.
8.11. Avoiding data races due to hardware interrupts¶
-
RUSTC_CSTR_0110_INTERRUPTS
¶
The user shall structure their code such that hardware interrupts will not result in data race conditions.