• Antonio Nino Diaz's avatar
    Simplify assert() to reduce memory usage · 0da2fe7e
    Antonio Nino Diaz authored
    
    
    The behaviour of assert() now depends on the value of the new optional
    platform define `PLAT_LOG_LEVEL_ASSERT`. This defaults to `LOG_LEVEL` if
    not defined by the platform.
    
    - If `PLAT_LOG_LEVEL_ASSERT` >= `LOG_LEVEL_VERBOSE`, it prints the file
      name, line and asserted expression.
    - If `PLAT_LOG_LEVEL_ASSERT` >= `LOG_LEVEL_INFO`, it prints the file
      name and line.
    - If not, it doesn't print anything.
    
    Note the old behaviour was to print the function name whereas now it
    prints the file name. This reduces memory usage because the file name is
    shared between all assert calls in a given file. Also, the default
    behaviour in debug builds is to no longer print the asserted expression,
    greatly reducing the string usage.
    
    For FVP debug builds this change saves approximately:
    
                  No TBBR    TBBR
            BL1    1.6 KB   2.2 KB
            BL2    1.7 KB   2.1 KB
            BL31   2.6 KB   3.3 KB
    
    Change-Id: I2947569d593df0b25611dc3c7a6096f42155c115
    Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
    0da2fe7e
assert.h 2.91 KB