This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Order of compilation in ArmCC

How does the Uv4.exe determine in what order source files are built? I have a project that I build on my local PC, and the same project being built on a build machine. The source files get compiled in a different order on the two machines, and the .hex file we end up with is different between the two machines. They are using the same version of uVision, compiling the same project files, and running the same command-line arguments.

We need to be able to reliably reproduce the .hex file generated on the build machine. I can build twice on my machine and get the same result, but what gets built on the build machine differs from my own. How can I force the project to be more consistent in how it builds the file?

Parents
  • I've always been under the impression that the build order is directly based upon the order source files appear in the project tree.

    Like you, I needed to be able to produce 100% identical images from PC to PC or build to build, but have never had problems - so long as I leave the project tree alone.

    One gotcha for me (and maybe you) is that I use the 'feedback' feature that eliminates unused functions from the final code image. I use the term 'feedback' here unsure of the exact phrase, because I don't have access to a PC.

    With this feature, it is necessary to carry out at least three builds to ensure all unused functions. Prior builds might contain unused code and would therefore have a different image.

Reply
  • I've always been under the impression that the build order is directly based upon the order source files appear in the project tree.

    Like you, I needed to be able to produce 100% identical images from PC to PC or build to build, but have never had problems - so long as I leave the project tree alone.

    One gotcha for me (and maybe you) is that I use the 'feedback' feature that eliminates unused functions from the final code image. I use the term 'feedback' here unsure of the exact phrase, because I don't have access to a PC.

    With this feature, it is necessary to carry out at least three builds to ensure all unused functions. Prior builds might contain unused code and would therefore have a different image.

Children