Re: [kbuild-all] Re: [paulmck-rcu:dev.2022.02.17a 73/73] make[3]: *** No rule to make target 'kernel/rcu/typesafe.o', needed by 'kernel/rcu/built-in.a'.

From: Paul E. McKenney
Date: Wed Mar 02 2022 - 16:38:23 EST


On Wed, Feb 23, 2022 at 06:14:52PM +0800, Chen, Rong A wrote:
>
>
> On 2/22/2022 10:53 PM, Paul E. McKenney wrote:
> > On Tue, Feb 22, 2022 at 04:30:40PM +0800, Chen, Rong A wrote:
> > >
> > >
> > > On 2/22/2022 5:47 AM, Paul E. McKenney wrote:
> > > > On Tue, Feb 22, 2022 at 03:05:27AM +0800, kernel test robot wrote:
> > > > > Hi Paul,
> > > > >
> > > > > First bad commit (maybe != root cause):
> > > > >
> > > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2022.02.17a
> > > > > head: f5b2eaf791ebbd6af881947ab7c40ed70681e534
> > > > > commit: f5b2eaf791ebbd6af881947ab7c40ed70681e534 [73/73] EXP torture: Add tests demoing SLAB_TYPESAFE_BY_RCU
> > > > > config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20220222/202202220308.TNib9D2v-lkp@xxxxxxxxx/config)
> > > > > compiler: arceb-elf-gcc (GCC) 11.2.0
> > > > > reproduce (this is a W=1 build):
> > > > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > > > > chmod +x ~/bin/make.cross
> > > > > # https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=f5b2eaf791ebbd6af881947ab7c40ed70681e534
> > > > > git remote add paulmck-rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
> > > > > git fetch --no-tags paulmck-rcu dev.2022.02.17a
> > > > > git checkout f5b2eaf791ebbd6af881947ab7c40ed70681e534
> > > > > # save the config file to linux build tree
> > > > > mkdir build_dir
> > > > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash
> > > > >
> > > > > If you fix the issue, kindly add following tag as appropriate
> > > > > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > > > >
> > > > > All errors (new ones prefixed by >>):
> > > > >
> > > > > > > make[3]: *** No rule to make target 'kernel/rcu/typesafe.o', needed by 'kernel/rcu/built-in.a'.
> > > > > make[3]: Target '__build' not remade because of errors.
> > > >
> > > > This is the only commit involving kernel/rcu/typesafe.o, so...
> > > >
> > > > One the one hand, I do not plan to upstream this, so maybe it doesn't
> > > > matter.
> > > >
> > > > I have been building this using the rcutorture scripting for some time,
> > > > same RCU-related .config as you are using. But when I pulled it into
> > > > a clone in a neighboring directory, it failed just as it did for you.
> > > > The problem was that the update to kernel/rcu/Makefile somehow didn't
> > > > come across, so this line was missing:
> > > >
> > > > obj-$(CONFIG_RCU_TYPESAFE_TEST) += typesafe.o
> > > >
> > > > Which of course explains the build failure.
> > > >
> > > > I blew away that clone and re-cloned it. And it still failed, both
> > > > with "make" from the commandline and under rcutorture.
> > > >
> > > > Hahahahahahaahaha!!!
> > > >
> > > > I forgot "git add kernel/rcu/typesafe.c".
> > > >
> > > > There is now a new typesafe.2022.02.21a tag with this file added.
> > > >
> > > > Good catch! That file happened to still be lying around. The first
> > > > "git reset --hard" would have destroyed. Thank you!!!
> > > >
> > > > And with that fixed, my clone now builds correctly. Does this fix
> > > > it for you?
> > >
> > > Hi Paul,
> > >
> > > I can't find the tag 'typesafe.2022.02.21a' from https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/refs/tags
> >
> > That would be because I failed to push it out. :-/
> >
> > Which I just now did, apologies for my confusion.
> >
> > Thanx, Paul
>
> Hi Paul,
>
> I have tested the tag, yes, it's fixed.

Very good, and thank you!

May I add your Tested-by?

Thanx, Paul