Quantcast
Channel: Recent Questions - Stack Overflow
Viewing all articles
Browse latest Browse all 12111

Why do no files rebuild when I touch drivers/net/dsa/dsa_loop_bdinfo.c

$
0
0

In a 6.1.55 Linux kernel build, after a full make, if I touch a file marked as "=y" in the .config (e.g. net/devres.c) I see that the compiler rebuilds the corresponding .o file, as expected.

user@machine:/opt/linux-imx$ touch net/devres.cuser@machine:/opt/linux-imx$ make  CALL    scripts/checksyscalls.sh  CC      net/devres.o  AR      net/built-in.a...

If I do the same for drivers/net/dsa/dsa_loop_bdinfo.c nothing is rebuilt!

user@machine:/opt/linux-imx$ touch drivers/net/dsa/dsa_loop_bdinfo.cuser@machine:/opt/linux-imx$ make  CALL    scripts/checksyscalls.shuser@machine:/opt/linux-imx$

I've checked that a module marked as "=m" in the same directory (drivers/net/dsa/dsa_loop.c) gets rebuilt as a module, as expected, if it is touched.

I've checked the contents of drivers/net/dsa/Makefile:

...obj-$(CONFIG_NET_DSA_LOOP)      += dsa_loop.oifdef CONFIG_NET_DSA_LOOPobj-$(CONFIG_FIXED_PHY)         += dsa_loop_bdinfo.oendif...

... and the relevant lines in the .config file:

CONFIG_NET_DSA_LOOP=mCONFIG_FIXED_PHY=y

I have tried commenting out the ifdef and endif lines around the dsa_loop_bdinfo.o line in the Makefile, to no avail.

I have tried changing the Makefile to use the following line:

obj-y                             += dsa_loop_bdinfo.o 

Any suggestions?

Update:The .config contains:

CONFIG_NET_DSA=m

and the Makefile in drivers/net/ contains:

obj-$(CONFIG_NET_DSA) += dsa/

so yes, @sawdust, this does appear to be an attempt to compile a "-y" file within a "-m" directory.

It looks like this was first discovered in 2019 and fixed in kernel version 5.1.5 (https://www.uwsg.indiana.edu/hypermail/linux/kernel/1905.2/08067.html) but subsequently lost/reverted.


Viewing all articles
Browse latest Browse all 12111

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>