Re: [GIT PULL] Modules changes for v6.13-rc1

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

 



Hi Linus and Luis,


On Thu, Nov 28, 2024 at 8:57 AM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Wed, 27 Nov 2024 at 15:26, Luis Chamberlain <mcgrof@xxxxxxxxxx> wrote:
> >
> > On Wed, Nov 27, 2024 at 02:35:36PM -0800, Luis Chamberlain wrote:
> > > Sorry about that, I'm on it.
> >
> > OK here is a fix, goes double build tested and then run time tested.
>
> No, you misunderstand.
>
> I don't mind the tests being built. That's *good*.
>
> I mind them being built *twice*. That means that there's some
> seriously broken lack of dependency logic.
>
>             Linus


Right.

The lib/tests/module/test_kallsyms_*.c files
are always regenerated due to the 'FORCE'.

lib/tests/module/Makefile:

$(obj)/%.c: FORCE




The following diff will fix the issue.
(I used 'foreach' to factor out similar lines, but it is just a bonus clean-up).


diff --git a/lib/tests/module/Makefile b/lib/tests/module/Makefile
index af5c27b996cb..8cfc4ae600a9 100644
--- a/lib/tests/module/Makefile
+++ b/lib/tests/module/Makefile
@@ -3,13 +3,12 @@ obj-$(CONFIG_TEST_KALLSYMS_B) += test_kallsyms_b.o
 obj-$(CONFIG_TEST_KALLSYMS_C) += test_kallsyms_c.o
 obj-$(CONFIG_TEST_KALLSYMS_D) += test_kallsyms_d.o

-$(obj)/%.c: FORCE
-       @$(kecho) "  GEN     $@"
-       $(Q)$(srctree)/lib/tests/module/gen_test_kallsyms.sh $@\
-               $(CONFIG_TEST_KALLSYMS_NUMSYMS) \
-               $(CONFIG_TEST_KALLSYMS_SCALE_FACTOR)
+quiet_cmd_gen_test_kallsyms = GEN     $@
+      cmd_gen_test_kallsyms = $< $@ \
+       $(CONFIG_TEST_KALLSYMS_NUMSYMS) \
+       $(CONFIG_TEST_KALLSYMS_SCALE_FACTOR)

-clean-files += test_kallsyms_a.c
-clean-files += test_kallsyms_b.c
-clean-files += test_kallsyms_c.c
-clean-files += test_kallsyms_d.c
+$(obj)/%.c: $(src)/gen_test_kallsyms.sh FORCE
+       $(call if_changed,gen_test_kallsyms)
+
+targets += $(foreach x, a b c d, test_kallsyms_$(x).c)








-- 
Best Regards
Masahiro Yamada





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux