• Sandrine Bailleux's avatar
    Always build with '-pedantic' · aa856917
    Sandrine Bailleux authored
    By default ARM TF is built with the '-pedantic' compiler flag, which
    helps detecting violations of the C standard. However, the mbed TLS
    library and its associated authentication module in TF used to fail
    building with this compiler flag. As a workaround, the mbed TLS
    authentication module makefile used to set the 'DISABLE_PEDANTIC'
    TF build flag.
    
    The compiler errors flagged by '-pedantic' in the mbed TLS library
    have been fixed between versions 1.3.9 and 2.2.0 and the library now
    properly builds with this compiler flag.
    
    This patch fixes the remaining compiler errors in the mbed TLS
    authentication module in TF and unsets the 'DISABLE_PEDANTIC' TF
    build flag. This means that TF is now always built with '-pedantic'.
    
    In particular, this patch:
    
     * Removes the final semi-colon in REGISTER_COT() macro.
    
       This semi-colon was causing the following error message:
    
       drivers/auth/tbbr/tbbr_cot.c:544:23: error: ISO C does not allow
       extra ';' outside of a function [-Werror=pedantic]
    
       This has been fixed both in the mbed TLS authentication module
       as well as in the certificate generation tool. Note that the latter
       code didn't need fixing since it is not built with '-pedantic' but
       the change has been propagated for consistency.
    
       Also fixed the REGISTER_KEYS() and REGISTER_EXTENSIONS() macros,
       which were suffering from the same issue.
    
     * Fixes a pointer type.
    
       It was causing the following error message:
    
       drivers/auth/mbedtls/mbedtls_crypto.c: In function 'verify_hash':
       drivers/auth/mbedtls/mbedtls_crypto.c:177:42: error: pointer of
       type 'void *' used in arithmetic [-Werror=pointer-arith]
    
    Change-Id: I7b7a04ef711efd65e17b5be26990d1a0d940257d
    aa856917
auth_mod.h 2.53 KB