Message ID | 20220719084149.29950-1-jslaby@suse.cz (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/2] kbuild: pass jobserver to cmd_ld_vmlinux.o | expand |
On Tue, Jul 19, 2022 at 5:41 PM Jiri Slaby <jslaby@suse.cz> wrote: > > Until the link-vmlinux.sh split (cf. the commit below), the linker was > run with jobserver set in MAKEFLAGS. After the split, the command in > Makefile.vmlinux_o is not prefixed by "+" anymore, so this information > is lost. > > Restore it as linkers working in parallel (esp. the LTO ones) make a use > of it. In this case, it is gcc producing this warning otherwise: > lto-wrapper: warning: jobserver is not available: ‘--jobserver-auth=’ is not present in ‘MAKEFLAGS’ > > Cc: Sedat Dilek <sedat.dilek@gmail.com> > Cc: Masahiro Yamada <masahiroy@kernel.org> > Cc: Michal Marek <michal.lkml@markovi.net> > Cc: Nick Desaulniers <ndesaulniers@google.com> > Cc: Signed-off-by: Martin Liska <mliska@suse.cz> > Fixes: 5d45950dfbb1 (kbuild: move vmlinux.o link to scripts/Makefile.vmlinux_o) > Signed-off-by: Jiri Slaby <jslaby@suse.cz> > --- > > Notes: > [v2] only commit message updated Did you read my previous email? https://lore.kernel.org/linux-kbuild/CAK7LNAS46hrVh3FNiHHL8_Hqp85VgWnsHyjQ4t-TFH_H344NOg@mail.gmail.com/ > > scripts/Makefile.vmlinux_o | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/Makefile.vmlinux_o b/scripts/Makefile.vmlinux_o > index 84019814f33f..886db0659d9c 100644 > --- a/scripts/Makefile.vmlinux_o > +++ b/scripts/Makefile.vmlinux_o > @@ -65,7 +65,7 @@ define rule_ld_vmlinux.o > endef > > vmlinux.o: $(initcalls-lds) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS) FORCE > - $(call if_changed_rule,ld_vmlinux.o) > + +$(call if_changed_rule,ld_vmlinux.o) > > targets += vmlinux.o > > -- > 2.37.1 >
On 19. 07. 22, 11:15, Masahiro Yamada wrote: > On Tue, Jul 19, 2022 at 5:41 PM Jiri Slaby <jslaby@suse.cz> wrote: >> >> Until the link-vmlinux.sh split (cf. the commit below), the linker was >> run with jobserver set in MAKEFLAGS. After the split, the command in >> Makefile.vmlinux_o is not prefixed by "+" anymore, so this information >> is lost. >> >> Restore it as linkers working in parallel (esp. the LTO ones) make a use >> of it. In this case, it is gcc producing this warning otherwise: >> lto-wrapper: warning: jobserver is not available: ‘--jobserver-auth=’ is not present in ‘MAKEFLAGS’ >> >> Cc: Sedat Dilek <sedat.dilek@gmail.com> >> Cc: Masahiro Yamada <masahiroy@kernel.org> >> Cc: Michal Marek <michal.lkml@markovi.net> >> Cc: Nick Desaulniers <ndesaulniers@google.com> >> Cc: Signed-off-by: Martin Liska <mliska@suse.cz> >> Fixes: 5d45950dfbb1 (kbuild: move vmlinux.o link to scripts/Makefile.vmlinux_o) >> Signed-off-by: Jiri Slaby <jslaby@suse.cz> >> --- >> >> Notes: >> [v2] only commit message updated > > > Did you read my previous email? > > https://lore.kernel.org/linux-kbuild/CAK7LNAS46hrVh3FNiHHL8_Hqp85VgWnsHyjQ4t-TFH_H344NOg@mail.gmail.com/ Huh, I neither received this email nor the linked one to my inbox. @suse.cz somehow filters mails from you :/. Let me figure out (and use kernel.org account for now). (And get back to your comments too.) >> scripts/Makefile.vmlinux_o | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/scripts/Makefile.vmlinux_o b/scripts/Makefile.vmlinux_o >> index 84019814f33f..886db0659d9c 100644 >> --- a/scripts/Makefile.vmlinux_o >> +++ b/scripts/Makefile.vmlinux_o >> @@ -65,7 +65,7 @@ define rule_ld_vmlinux.o >> endef >> >> vmlinux.o: $(initcalls-lds) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS) FORCE >> - $(call if_changed_rule,ld_vmlinux.o) >> + +$(call if_changed_rule,ld_vmlinux.o) >> >> targets += vmlinux.o >> >> -- >> 2.37.1 >> > >
diff --git a/scripts/Makefile.vmlinux_o b/scripts/Makefile.vmlinux_o index 84019814f33f..886db0659d9c 100644 --- a/scripts/Makefile.vmlinux_o +++ b/scripts/Makefile.vmlinux_o @@ -65,7 +65,7 @@ define rule_ld_vmlinux.o endef vmlinux.o: $(initcalls-lds) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS) FORCE - $(call if_changed_rule,ld_vmlinux.o) + +$(call if_changed_rule,ld_vmlinux.o) targets += vmlinux.o
Until the link-vmlinux.sh split (cf. the commit below), the linker was run with jobserver set in MAKEFLAGS. After the split, the command in Makefile.vmlinux_o is not prefixed by "+" anymore, so this information is lost. Restore it as linkers working in parallel (esp. the LTO ones) make a use of it. In this case, it is gcc producing this warning otherwise: lto-wrapper: warning: jobserver is not available: ‘--jobserver-auth=’ is not present in ‘MAKEFLAGS’ Cc: Sedat Dilek <sedat.dilek@gmail.com> Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: Michal Marek <michal.lkml@markovi.net> Cc: Nick Desaulniers <ndesaulniers@google.com> Cc: Signed-off-by: Martin Liska <mliska@suse.cz> Fixes: 5d45950dfbb1 (kbuild: move vmlinux.o link to scripts/Makefile.vmlinux_o) Signed-off-by: Jiri Slaby <jslaby@suse.cz> --- Notes: [v2] only commit message updated scripts/Makefile.vmlinux_o | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)