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: Chen, Rong A
Date: Wed Mar 02 2022 - 19:30:37 EST




On 3/3/2022 5:38 AM, Paul E. McKenney wrote:
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


Sure, Tested-by: "kernel test robot" <rong.a.chen@xxxxxxxxx>

Best Regards,
Rong Chen