Skip to content
  • Torsten Duwe's avatar
    powerpc/ftrace: Add Kconfig & Make glue for mprofile-kernel · 8c50b72a
    Torsten Duwe authored
    
    
    Firstly we add logic to Kconfig to allow a user to choose if they want
    mprofile-kernel. This has to be user-selectable because only some
    current toolchains support it. If we enabled it unconditionally we would
    prevent some users from building the kernel entirely.
    
    Arguably it would be nice if we could detect if mprofile-kernel was
    available, and use it then. However that would violate the principle of
    least surprise because a user having choosen options such as live
    patching, would then see them quietly disabled at build time.
    
    We also make the user selectable option negative, ie. it disables when
    selected, so that allyesconfig continues to build on old toolchains.
    
    Once we've decided we do want to use mprofile-kernel, we then add a
    script which checks it actually works. That is because there are
    versions of gcc that accept the flag but don't generate correct code.
    
    Due to the way kconfig works, we can't error out when we detect a
    non-working toolchain. If we did a user would never be able to modify
    their config and run oldconfig - because the check would block oldconfig
    from running. Instead we emit a warning and add a bogus flag to CFLAGS
    so that the build will fail.
    
    Signed-off-by: default avatarTorsten Duwe <duwe@suse.de>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    8c50b72a