On 7/11/22 6:13 AM, Anders Roxell wrote:
On Fri, 8 Jul 2022 at 19:14, Shuah Khan skhan@linuxfoundation.org wrote:
On 7/8/22 10:23 AM, Guillaume Tucker wrote:
Earlier attempts to get "make O=build kselftest-all" to work were not successful as they made undesirable changes to some functions in the top-level Makefile. This series takes a different approach by removing the root cause of the problem within kselftest, which is when the sub-Makefile tries to install kernel headers "backwards" by calling make with the top-level Makefile. The actual issue comes from the fact that $(srctree) is ".." when building in a sub-directory with "O=build" which then obviously makes "-C $(top_srcdir)" point outside of the real source tree.
With this series, the generic kselftest targets work as expected from the top level with or without a build directory e.g.:
$ make kselftest-all $ make O=build kselftest-all
Then in order to build using the sub-Makefile explicitly, the headers have to be installed first. This is arguably a valid requirement to have when building a tool from a sub-Makefile. For example, "make -C tools/testing/nvdimm/" fails in a similar way until <asm/rwonce.h> has been generated by a kernel build.
Guillaume Tucker (4): selftests: drop khdr make target selftests: stop using KSFT_KHDR_INSTALL selftests: drop KSFT_KHDR_INSTALL make target Makefile: add headers_install to kselftest targets
This takes us to back to the state before b2d35fa5fc80 added khdr support. I reluctantly agreed to the change and it has proven to be a problematic change. I would rather have had the dependency stated that headers should be installed prior to building tests - test build depends on kernel build anyway and having dependency on headers having build isn't a huge deal.
I agree that it's not a huge deal.
So I am in favor of getting rid of khdr support. However, this khdr support was a change originated from Linaro test ring. Undoing this might have implication on their workflow.
It shouldn't be a problem. I've been running these patches through a smoke test and it looks good.
Tested-by: Anders Roxell anders.roxell@linaro.org
Thank you Anders for confirming this isn't a problem for Linaro workflow and testing.
Than you Guillaume for fixing the problem. I will apply these for 5.20-rc1.
thanks, -- Shuah