<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in expected_stderr</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>9d0d2660 - kconfig: recursive checks drop file/lineno</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr#9d0d2660</link>
        <description>kconfig: recursive checks drop file/linenoThis prevents segfault when getting filename and lineno in recursivechecks.If the following snippet is found in Kconfig:[Test code 1]config FOO        bool        depends on BAR        select BAR... without BAR defined; then there is a segfault.  Kconfig:34:error: recursive dependency detected!  Kconfig:34:	symbol FOO depends on BAR  make[4]: *** [scripts/kconfig/Makefile:85: allnoconfig] Segmentation faultThis is because of the following. BAR is a fake entry created bysym_lookup() with prop being NULL. In the recursive check, there is aNULL check for prop to fall back to stack-&gt;sym-&gt;prop if stack-&gt;prop isNULL. However, in this case, stack-&gt;sym points to the fake BAR entrycreated by sym_lookup(), so prop is still NULL. prop was then referencedwithout additional NULL checks, causing segfault.As the previous email thread suggests, the file and lineno for select isalso wrong:[Test code 2]config FOO       boolconfig BAR       boolconfig FOO       bool &quot;FOO&quot;       depends on BAR       select BAR  $ make defconfig  *** Default configuration is based on &apos;x86_64_defconfig&apos;  Kconfig:1:error: recursive dependency detected!  Kconfig:1: symbol FOO depends on BAR  Kconfig:4: symbol BAR is selected by FOO  [...]Kconfig:4 should be Kconfig:10.This patch deletes the wrong and segfault-prone filename/linenoinference completely. With this patch, Test code 1 yields:error: recursive dependency detected!	symbol FOO depends on BAR	symbol BAR is selected by FOOSigned-off-by: HONG Yifan &lt;elsk@google.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr</description>
        <pubDate>Wed, 17 Jul 2024 01:50:41 +0000</pubDate>
        <dc:creator>HONG Yifan &lt;elsk@google.com&gt;</dc:creator>
    </item>
<item>
        <title>cc25cfc5 - kconfig: print recursive dependency errors in the parsed order</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr#cc25cfc5</link>
        <description>kconfig: print recursive dependency errors in the parsed orderfor_all_symbols() iterates in the symbol hash table. The order ofiteration depends on the hash table implementation.If you use it for printing errors, they are shown in random order.For example, the order of following test input and the correspondingerror do not match: - scripts/kconfig/tests/err_recursive_dep/Kconfig - scripts/kconfig/tests/err_recursive_dep/expected_stderrSigned-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr</description>
        <pubDate>Sun, 11 Feb 2024 12:41:04 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>cd238eff - docs: kbuild: convert docs to ReST and rename to *.rst</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr#cd238eff</link>
        <description>docs: kbuild: convert docs to ReST and rename to *.rstThe kbuild documentation clearly shows that the documentsthere are written at different times: some use markdown,some use their own peculiar logic to split sections.Convert everything to ReST without affecting too muchthe author&apos;s style and avoiding adding uneeded markups.The conversion is actually:  - add blank lines and identation in order to identify paragraphs;  - fix tables markups;  - add some lists markups;  - mark literal blocks;  - adjust title markups.At its new index.rst, let&apos;s add a :orphan: while this is not linked tothe main index.rst file, in order to avoid build warnings.Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;

            List of files:
            /linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr</description>
        <pubDate>Wed, 12 Jun 2019 17:52:48 +0000</pubDate>
        <dc:creator>Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>f498926c - kconfig: improve the recursive dependency report</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr#f498926c</link>
        <description>kconfig: improve the recursive dependency reportThis commit improves the messages of the recursive dependency.Currently, sym-&gt;dir_dep.expr is not checked.  Hence, any dependencyin property visibility is regarded as the dependency of the symbol.[Test Code 1]  config A          bool &quot;a&quot;          depends on B  config B          bool &quot;b&quot;          depends on A[Test Code 2]  config A          bool &quot;a&quot; if B  config B          bool &quot;b&quot;          depends on AFor both cases above, the same message is displayed:        symbol B depends on A        symbol A depends on BThis commit changes the message for the latter, like this:        symbol B depends on A        symbol A prompt is visible depending on BAlso, &apos;select&apos; and &apos;imply&apos; are distinguished.Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;Tested-by: Dirk Gouders &lt;dirk@gouders.net&gt;

            List of files:
            /linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr</description>
        <pubDate>Wed, 15 Aug 2018 05:59:45 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;</dc:creator>
    </item>
<item>
        <title>5e8c5299 - kconfig: report recursive dependency involving &apos;imply&apos;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr#5e8c5299</link>
        <description>kconfig: report recursive dependency involving &apos;imply&apos;Currently, Kconfig does not complain about the recursive dependencywhere &apos;imply&apos; keywords are involved.[Test Code]  config A          bool &quot;a&quot;  config B          bool &quot;b&quot;          imply A          depends on AIn the code above, Kconfig cannot calculate the symbol values correctlydue to the circular dependency.  For example, allyesconfig followed bysyncconfig results in an odd behavior because CONFIG_B becomes visiblein syncconfig.  $ make allyesconfig  scripts/kconfig/conf  --allyesconfig Kconfig  #  # configuration written to .config  #  $ cat .config  #  # Automatically generated file; DO NOT EDIT.  # Main menu  #  CONFIG_A=y  $ make syncconfig  scripts/kconfig/conf  --syncconfig Kconfig  *  * Restart config...  *  *  * Main menu  *  a (A) [Y/n/?] y    b (B) [N/y/?] (NEW)To detect this correctly, sym_check_expr_deps() should recurse tonot only sym-&gt;rev_dep.expr but also sym-&gt;implied.expr .At this moment, sym_check_print_recursive() cannot distinguish&apos;select&apos; and &apos;imply&apos; since it does not know the precise contextwhere the recursive dependency has been hit.  This will be solvedby the next commit.In fact, even the document and the unit-test are confused.  Using&apos;imply&apos; does not solve recursive dependency since &apos;imply&apos; addressesthe unmet direct dependency, which &apos;select&apos; could cause.Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;Tested-by: Dirk Gouders &lt;dirk@gouders.net&gt;

            List of files:
            /linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr</description>
        <pubDate>Wed, 15 Aug 2018 05:59:44 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;</dc:creator>
    </item>
<item>
        <title>f1575595 - kconfig: error out when seeing recursive dependency</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr#f1575595</link>
        <description>kconfig: error out when seeing recursive dependencyOriginally, recursive dependency was a fatal error for Kconfigbecause Kconfig cannot compute symbol values in such a situation.Commit d595cea62403 (&quot;kconfig: print more info when we see a recursivedependency&quot;) changed it to a warning, which I guess was not intentional.Get it back to an error again.Also, rename the unit test directory &quot;warn_recursive_dep&quot; to&quot;err_recursive_dep&quot; so that it matches to the behavior.Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;Tested-by: Dirk Gouders &lt;dirk@gouders.net&gt;

            List of files:
            /linux-6.15/scripts/kconfig/tests/err_recursive_dep/expected_stderr</description>
        <pubDate>Wed, 15 Aug 2018 05:59:43 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;</dc:creator>
    </item>
</channel>
</rss>
