[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNATsbkhYHk6NCZJCDrtT0NFfBwe_n9GRSrEvURaXaW+gfg@mail.gmail.com>
Date: Mon, 26 Apr 2021 16:05:41 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: Marcelo Schmitt <marcelo.schmitt1@...il.com>
Cc: kunit-dev@...glegroups.com,
"open list:KERNEL SELFTEST FRAMEWORK"
<linux-kselftest@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
andersonreisrosa@...il.com
Subject: Re: Running kunit_tool on unclean trees
On Sun, Apr 25, 2021 at 4:05 AM Marcelo Schmitt
<marcelo.schmitt1@...il.com> wrote:
>
> Hi, a friend and I were chasing bug 205219 [1] listed in Bugzilla.
> We step into something a little bit different when trying to reproduce
> the buggy behavior. In our try, compilation failed with a message form
> make asking us to clean the source tree. We couldn't run kunit_tool
> after compiling the kernel for x86, as described by Ted in the
> discussion pointed out by the bug report.
>
> Steps to reproduce:
>
> 0) Run kunit_tool
> $ ./tools/testing/kunit/kunit.py run
> Works fine with a clean tree.
>
> 1) Compile the kernel for some architecture (we did it for x86_64).
>
> 2) Run kunit_tool again
> $ ./tools/testing/kunit/kunit.py run
> Fails with a message form make asking us to clean the source tree.
This is probably because
tools/testing/kunit/kunit_kernel.py
runs make with O= option.
> Removing the clean source tree check from the top-level Makefile gives
> us a similar error to what was described in the bug report. We see that
> after running `git clean -fdx` kunit_tool runs nicely again. However,
> this is not a real solution since some kernel binaries are erased by git.
>
> We also had a look into the commit messages of Masahiro Yamada but
> couldn't quite grasp why the check for the tree to be clean was added.
> We could invest more time in this issue but actually don't know how to
> proceed. We'd be glad to receive any comment about it. We could also try
> something else if it's a too hard issue for beginners.
I think you are talking about the following error message.
***
*** The source tree is not clean, please run 'make mrproper'
*** in /home/masahiro/ref/linux
***
Kbuild checks if the source tree is clean
before starting the out-of-tree build
because the out-of-tree build relies on VPATH.
This check has existed for a long time. (at least more than a decade)
If Kbuild started the O= build with a dirty source tree,
some stale generated source files would have been remaining.
(some *.c and *.h are generated by scripts)
Then, Kbuild would wrongly use stale source files in srctree
instead of generating new ones in objtree.
> [1]: https://bugzilla.kernel.org/show_bug.cgi?id=205219
>
>
> Best Regards,
>
> Marcelo
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists