Skip to content

config: Make tfa robust to parameter changes

Ryan Roberts requested to merge ryarob01/workaround-tfa-stale-params into main

The TFA build system does not notice when a build parameter changes between incremental builds and this can lead to stale compilation units. An example of this is when switching between v8.x and v9.x architectures; v9.x adds CTX_INCLUDE_AARCH32_REGS=0. Where the v8.x default is CTX_INCLUDE_AARCH32_REGS=1.

Up until now, the advice has been to workaround this by explicitly doing a clean when changing arch versions. But this continues to bite people, so let's workaround this in the tfa config by storing the parameters for each build. Then we can compare to the previous build and do a clean if they have changed. This provides a robust solution that does not incur any performance penalty for the common case of rebuilding without any parameter changes.

To make this work, ensure the parameters are always in the same order when generating the parameters string. Previously their order was arbitrary and would change from run to run.

Signed-off-by: Ryan Roberts ryan.roberts@arm.com

Merge request reports

Loading