• Sandrine Bailleux's avatar
    Fix build error with optimizations disabled (-O0) · 10c252c1
    Sandrine Bailleux authored
    If Trusted Firmware is built with optimizations disabled (-O0), the
    linker throws the following error:
    
        undefined reference to 'xxx'
    
    Where 'xxx' is a raw inline function defined in a header file. The
    reason is that, with optimizations disabled, GCC may decide to skip
    the inlining. If that is the case, an external definition to the
    compilation unit must be provided. Because no external definition
    is present, the linker throws the error.
    
    This patch fixes the problem by declaring the following inline
    functions static, so the internal definition is used:
     - cm_set_next_context()
     - bakery_lock_init()
    
    Note that building the TF with optimizations disabled when Trusted
    Board Boot is enabled is currently unsupported, as this makes the BL2
    image too big to fit in memory without any adjustment of its base
    address. Similarly, disabling optimizations for debug builds on FVP
    is unsupported at the moment.
    
    Change-Id: I284a9f84cc8df96a0c1a52dfe05c9e8544c0cefe
    10c252c1
bakery_lock.h 3.94 KB