Message ID | 20240703223611.1754927-1-andrew.cooper3@citrix.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [for-4.19] tools/xs-clients: Fix `make clean` rule | expand |
On 04.07.24 00:36, Andrew Cooper wrote: > Prior to the split, "the clients" used tools/xenstored/Makefile.common whose > clean rule includes *.o whereas after the split, the removal of *.o was lost > by virtule of not including Makefile.common any more. > > This is the bug behind the following build error: > > make[2]: Entering directory '/local/xen.git/tools/xs-clients' > gcc xenstore_client.o (snip) > /usr/bin/ld: xenstore_client.o: relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE > /usr/bin/ld: failed to set dynamic section sizes: bad value > collect2: error: ld returned 1 exit status > make[2]: *** [Makefile:35: xenstore] Error 1 > > which was caused by `make clean` not properly cleaning the tree as I was > swapping between various build containers. > > Switch to a plain single-colon clean rule. > > Fixes: 5c293058b130 ("tools/xenstore: move xenstored sources into dedicated directory") > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Juergen Gross <jgross@suse.com> Juergen
On Wed, 2024-07-03 at 23:36 +0100, Andrew Cooper wrote: > Prior to the split, "the clients" used > tools/xenstored/Makefile.common whose > clean rule includes *.o whereas after the split, the removal of *.o > was lost > by virtule of not including Makefile.common any more. > > This is the bug behind the following build error: > > make[2]: Entering directory '/local/xen.git/tools/xs-clients' > gcc xenstore_client.o (snip) > /usr/bin/ld: xenstore_client.o: relocation R_X86_64_32S against > `.rodata' can not be used when making a PIE object; recompile with - > fPIE > /usr/bin/ld: failed to set dynamic section sizes: bad value > collect2: error: ld returned 1 exit status > make[2]: *** [Makefile:35: xenstore] Error 1 > > which was caused by `make clean` not properly cleaning the tree as I > was > swapping between various build containers. > > Switch to a plain single-colon clean rule. > > Fixes: 5c293058b130 ("tools/xenstore: move xenstored sources into > dedicated directory") > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> > --- > CC: Anthony PERARD <anthony.perard@vates.tech> > CC: Juergen Gross <jgross@suse.com> > CC: Oleksii Kurochko <oleksii.kurochko@gmail.com> > > For 4.19. It's a minor build system corner case, but is also very > safe too. Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> ~ Oleksii > > Ultimately it needs backporting to 4.18 too. > --- > tools/xs-clients/Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/xs-clients/Makefile b/tools/xs-clients/Makefile > index 4e78d365e0df..5415c441920a 100644 > --- a/tools/xs-clients/Makefile > +++ b/tools/xs-clients/Makefile > @@ -38,8 +38,8 @@ xenstore-control: xenstore_control.o > $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS) > > .PHONY: clean > -clean:: > - $(RM) $(TARGETS) $(DEPS_RM) > +clean: > + $(RM) *.o $(TARGETS) $(DEPS_RM) > > .PHONY: distclean > distclean: clean
diff --git a/tools/xs-clients/Makefile b/tools/xs-clients/Makefile index 4e78d365e0df..5415c441920a 100644 --- a/tools/xs-clients/Makefile +++ b/tools/xs-clients/Makefile @@ -38,8 +38,8 @@ xenstore-control: xenstore_control.o $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS) .PHONY: clean -clean:: - $(RM) $(TARGETS) $(DEPS_RM) +clean: + $(RM) *.o $(TARGETS) $(DEPS_RM) .PHONY: distclean distclean: clean
Prior to the split, "the clients" used tools/xenstored/Makefile.common whose clean rule includes *.o whereas after the split, the removal of *.o was lost by virtule of not including Makefile.common any more. This is the bug behind the following build error: make[2]: Entering directory '/local/xen.git/tools/xs-clients' gcc xenstore_client.o (snip) /usr/bin/ld: xenstore_client.o: relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE /usr/bin/ld: failed to set dynamic section sizes: bad value collect2: error: ld returned 1 exit status make[2]: *** [Makefile:35: xenstore] Error 1 which was caused by `make clean` not properly cleaning the tree as I was swapping between various build containers. Switch to a plain single-colon clean rule. Fixes: 5c293058b130 ("tools/xenstore: move xenstored sources into dedicated directory") Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Anthony PERARD <anthony.perard@vates.tech> CC: Juergen Gross <jgross@suse.com> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com> For 4.19. It's a minor build system corner case, but is also very safe too. Ultimately it needs backporting to 4.18 too. --- tools/xs-clients/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)