RE: [PATCH 0/4] Fix kselftest build with sub-directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
> 
> 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.
> 
> 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.
> 
> I will pull them into the discussion so they are aware of it and
> be prepared for this change.

I ran into this bug quite a while ago.  I reported it here:
https://lore.kernel.org/all/ECADFF3FD767C149AD96A924E7EA6EAF977BD214@xxxxxxxxxxxxxxxxxxxxxxx/
it was fixed here:
https://lore.kernel.org/all/20191015014505.14259-1-skhan@xxxxxxxxxxxxxxxxxxx/
but apparently reverting it was discussed, based on this:
https://lore.kernel.org/all/8d34a9b9-f8f3-0e37-00bf-c342cf3d4074@xxxxxxx/

I'm not sure what happened after that.

I was able to work around it by avoiding
putting the build directory inside the source tree.

I strongly support getting rid of the khdr stuff, as it's quite hard
to follow.  I think my workflow would not be affected (but I should
run off and test it.)

Thanks for working on this Guillaume!
 -- Tim





[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux