]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
kern-tools: fix symbol_why for v6.18-rc1+
authorBruce Ashfield <bruce.ashfield@gmail.com>
Thu, 16 Oct 2025 03:08:43 +0000 (23:08 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 19 Oct 2025 14:34:43 +0000 (15:34 +0100)
commit f589e1df23251d8319063da0a61c1016b2a0bf85 (HEAD -> master)
Author: Bruce Ashfield <bruce.ashfield@gmail.com>
Date:   Wed Oct 15 18:12:20 2025 -0400

    tools/Kconfiglib: add support for transitional attribute

    We need to update the parser to handle:

    commit f9afce4f32e9a120fc902fa6c9e0b90ad799a6ec
    Author: Kees Cook <kees@kernel.org>
    Date:   Tue Sep 23 14:34:18 2025 -0700

        kconfig: Add transitional symbol attribute for migration support

        During kernel option migrations (e.g. CONFIG_CFI_CLANG to CONFIG_CFI),
        existing .config files need to maintain backward compatibility while
        preventing deprecated options from appearing in newly generated
        configurations. This is challenging with existing Kconfig mechanisms
        because:

        1. Simply removing old options breaks existing .config files.
        2. Manually listing an option as "deprecated" leaves it needlessly
           visible and still writes them to new .config files.
        3. Using any method to remove visibility (.e.g no 'prompt', 'if n',
           etc) prevents the option from being processed at all.

        Add a "transitional" attribute that creates symbols which are:
        - Processed during configuration (can influence other symbols' defaults)
        - Hidden from user menus (no prompts appear)
        - Omitted from newly written .config files (gets migrated)
        - Restricted to only having help sections (no defaults, selects, etc)
          making it truly just a "prior value pass-through" option.

        The transitional syntax requires a type argument and prevents type
        redefinition:

            config NEW_OPTION
                bool "New option"
                default OLD_OPTION

            config OLD_OPTION
                bool
                transitional
                help
                  Transitional config for OLD_OPTION migration.

        This allows seamless migration: olddefconfig processes existing
        CONFIG_OLD_OPTION=y settings to enable CONFIG_NEW_OPTION=y, while
        CONFIG_OLD_OPTION is omitted from newly generated .config files.

        Added positive and negative testing via "testconfig" make target.

Co-developed-by: Vegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/20250923213422.1105654-2-kees@kernel.org
Signed-off-by: Kees Cook <kees@kernel.org>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-kernel/kern-tools/kern-tools-native_git.bb

index 84b8b10a266110b17493d0fa1ae2104f297f93aa..9240ee5db8294e6cc5487644d5202077d1e4e147 100644 (file)
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "\
 
 DEPENDS += "git-replacement-native"
 
-SRCREV = "fe67c98d2e9b74af44d0c4b660fa18e3a95e7edd"
+SRCREV = "f589e1df23251d8319063da0a61c1016b2a0bf85"
 PV = "0.3+git"
 
 inherit native