ci: shippable: remove CCACHE_UNIFY=true

The ccache unify mode does not increase cache hits in the Shippable
build, contrary to what is claimed in commit a2a52e198719 ("ci:
shippable: enable ccache's 'unify' option"). Disable this mode,
because it is slower than the default mode [1] and might cause
corrupted builds [2].

Unify mode was enabled in the above commit, but that commit also set
CFG_DEBUG_INFO=n. It was in fact this configuration flag that allowed
better caching, by preventing -g3 from being added to the C flags.
With -g3, the preprocessor output contains all the macro definitions
(such as the configuration variables from config.h). Without it (or
with -g), those defines are not visible after the preprocessing stage
and therefore adding defines that do not change the actual code has no
impact and cached objects can be re-used.

 $ echo '#define FOO 1' | gcc -x c -E - | grep '#define FOO 1'
 $ echo '#define FOO 1' | gcc -x c -g3 -E - | grep '#define FOO 1'
 #define FOO 1

 [1] ccache(1) man page
 [2] .incbin directive bug: https://github.com/ccache/ccache/issues/497

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
1 file changed
tree: 37146523a10055a224ac54db57edeb28dbc550de
  1. .github/
  2. core/
  3. keys/
  4. ldelf/
  5. lib/
  6. mk/
  7. scripts/
  8. ta/
  9. .gitignore
  10. .shippable.yml
  11. .travis.yml
  12. CHANGELOG.md
  13. LICENSE
  14. MAINTAINERS
  15. Makefile
  16. README.md
  17. typedefs.checkpatch
README.md

OP-TEE Trusted OS

This git contains source code for the secure side implementation of OP-TEE project.

All official OP-TEE documentation has moved to http://optee.readthedocs.io.

// OP-TEE core maintainers