How can I reduce my code footprint?

Question: How can I reduce the size of my compiled code?

Answer: Here are some suggestions:

  • Turn on compiler size optimization (for VS: “/O1”, for gcc: “-Os”).
  • Disable all debug flags: SoTP platform debug and compiler debug (for gcc, remove “-g”).
  • Define __ENABLE_MOCANA_SMALL_CODE_FOOTPRINT__.
  • This will trade off some speed for a smaller size.
  • Disable unused ciphers such as 3DES or AES. AES may take about 10 KB because of lookup tables.
  • If supported by the compiler, use the option to link only with symbols that are being used.
  • Strip symbols from the generated binary.
  • Turn on the assembly language optimizations for the architecture, __ASM_*__.
  • For more information, refer to the “Footprint Reduction” and “Disable Certificate Parsing and Key Generation” sections of Building TrustCore SDK Components.