Part Number: AM2432
Issue description
When building a project with Code Composer Studio (CCS), the generated binary differs every time I build, even when using the same source code and the same commit.
From a configuration management point of view, I would like the generated binary to be identical as long as the source code and build environment are the same.
Is this behavior expected by design in CCS / ARM-CGT-CLANG, or is it caused by some build settings?
Environment
-
Code Composer Studio: 12.8.1.00005
-
ARM-CGT-CLANG: 4.0.1.LTS
-
INDUSTRIAL-COMMUNICATIONS-SDK-AM243X: 11.00.00.08
Build method
-
“Rebuild Project” in CCS
What I have tried
I compared the following outputs between two rebuilds, but none of them matched:
-
.hs_fsfiles -
.outfiles -
.binfiles converted from.outusingtiarmobjcopy -
Disassembly output generated from
.outusingtiarmobjdump -d
Additional observations
Initially, I suspected that this might be an issue specific to our in-house project configuration.
However, I was able to reproduce the same behavior using an SDK example project.
The specific example I tested is:
ethernetip_adapter_discrete_io_device_mii_demo_am243x-evm_r5fss0-0_freertos_ti-arm-clang
Even for this example, rebuilding the project multiple times results in different binaries.
Questions
-
Is non-deterministic binary output a known or expected behavior when building with CCS and ARM-CGT-CLANG?
-
If not, are there recommended compiler, linker, or CCS settings to ensure reproducible (deterministic) builds?


