• Masahiro Yamada's avatar
    stack-protector: test compiler capability in Kconfig and drop AUTO mode · 2a61f474
    Masahiro Yamada authored
    Move the test for -fstack-protector(-strong) option to Kconfig.
    
    If the compiler does not support the option, the corresponding menu
    is automatically hidden.  If STRONG is not supported, it will fall
    back to REGULAR.  If REGULAR is not supported, it will be disabled.
    This means, AUTO is implicitly handled by the dependency solver of
    Kconfig, hence removed.
    
    I also turned the 'choice' into only two boolean symbols.  The use of
    'choice' is not a good idea here, because all of all{yes,mod,no}config
    would choose the first visible value, while we want allnoconfig to
    disable as many features as possible.
    
    X86 has additional shell scripts in case the compiler supports those
    options, but generates broken code.  I added CC_HAS_SANE_STACKPROTECTOR
    to test this.  I had to add -m32 to gcc-x86_32-has-stack-protector.sh
    to make it work correctly.
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    Acked-by: default avatarKees Cook <keescook@chromium.org>
    2a61f474
Kconfig 29.6 KB