Message ID | CAMe9rOqxipG1d-7W8SmYVY_Av+Ny9oDu+zi08KvRKcqtqx1Bag@mail.gmail.com |
---|---|
State | New |
Headers | show |
Series | elf: Use a temporary file to generate Makefile fragments [BZ #28550] | expand |
On 16/11/2021 01:48, H.J. Lu wrote: > > This works for me. > > Thanks. > > From a928b52c036bb888797b3e81014f441f0d876b65 Mon Sep 17 00:00:00 2001 > From: "H.J. Lu" <hjl.tools@gmail.com> > Date: Mon, 15 Nov 2021 16:28:39 -0800 > Subject: [PATCH] elf: Use a temporary file to generate Makefile fragments [BZ > #28550] > > Use a temporary file to generate Makefile fragments for DSO sorting tests > and use -include on them. > > This partially fixes BZ #28550. > --- > elf/Makefile | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/elf/Makefile b/elf/Makefile > index a311c3e23c..57374fc690 100644 > --- a/elf/Makefile > +++ b/elf/Makefile > @@ -498,8 +498,9 @@ endif > define include_dsosort_tests > $(objpfx)$(1).generated-makefile: $(1) > $(PYTHON) $(..)scripts/dso-ordering-test.py \ > - --description-file $$< --objpfx $(objpfx) --output-makefile $$@ > -include $(objpfx)$(1).generated-makefile > + --description-file $$< --objpfx $(objpfx) --output-makefile $$@T > + mv $$@T $$@ > +-include $(objpfx)$(1).generated-makefile > endef > > # Generate from each testcase description file > -- > 2.33.1 I think you need the below on top of your patch. The 'avoid-generated' and 'postclean-generated' are required so a 'make clean' removes the autogenerated fragments so a subsequent 'make' regenerates them. diff --git a/elf/Makefile b/elf/Makefile index 57374fc690..31759279d4 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -491,6 +491,7 @@ tests-special += $(objpfx)order-cmp.out $(objpfx)tst-array1-cmp.out \ $(objpfx)tst-unused-dep-cmp.out endif +ifndef avoid-generated # DSO sorting tests: # The dso-ordering-test.py script generates testcase source files in $(objpfx), # creating a $(objpfx)<testcase-name>-dir for each testcase, and creates a @@ -508,6 +509,9 @@ ifeq (yes,$(have-tunables)) $(eval $(call include_dsosort_tests,dso-sort-tests-1.def)) $(eval $(call include_dsosort_tests,dso-sort-tests-2.def)) endif +endif +postclean-generated += $(objpfx)/dso-sort-tests-2.generated-makefile \ + $(objpfx)/dso-sort-tests-2.generated-makefile check-abi: $(objpfx)check-abi-ld.out tests-special += $(objpfx)check-abi-ld.out
On Tue, Nov 16, 2021 at 4:52 AM Adhemerval Zanella <adhemerval.zanella@linaro.org> wrote: > > > > On 16/11/2021 01:48, H.J. Lu wrote: > > > > This works for me. > > > > Thanks. > > > > > From a928b52c036bb888797b3e81014f441f0d876b65 Mon Sep 17 00:00:00 2001 > > From: "H.J. Lu" <hjl.tools@gmail.com> > > Date: Mon, 15 Nov 2021 16:28:39 -0800 > > Subject: [PATCH] elf: Use a temporary file to generate Makefile fragments [BZ > > #28550] > > > > Use a temporary file to generate Makefile fragments for DSO sorting tests > > and use -include on them. > > > > This partially fixes BZ #28550. > > --- > > elf/Makefile | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/elf/Makefile b/elf/Makefile > > index a311c3e23c..57374fc690 100644 > > --- a/elf/Makefile > > +++ b/elf/Makefile > > @@ -498,8 +498,9 @@ endif > > define include_dsosort_tests > > $(objpfx)$(1).generated-makefile: $(1) > > $(PYTHON) $(..)scripts/dso-ordering-test.py \ > > - --description-file $$< --objpfx $(objpfx) --output-makefile $$@ > > -include $(objpfx)$(1).generated-makefile > > + --description-file $$< --objpfx $(objpfx) --output-makefile $$@T > > + mv $$@T $$@ > > +-include $(objpfx)$(1).generated-makefile > > endef > > > > # Generate from each testcase description file > > -- > > 2.33.1 > > I think you need the below on top of your patch. The 'avoid-generated' and > 'postclean-generated' are required so a 'make clean' removes the autogenerated > fragments so a subsequent 'make' regenerates them. Fixed in the v2 patch. Thanks. > diff --git a/elf/Makefile b/elf/Makefile > index 57374fc690..31759279d4 100644 > --- a/elf/Makefile > +++ b/elf/Makefile > @@ -491,6 +491,7 @@ tests-special += $(objpfx)order-cmp.out $(objpfx)tst-array1-cmp.out \ > $(objpfx)tst-unused-dep-cmp.out > endif > > +ifndef avoid-generated > # DSO sorting tests: > # The dso-ordering-test.py script generates testcase source files in $(objpfx), > # creating a $(objpfx)<testcase-name>-dir for each testcase, and creates a > @@ -508,6 +509,9 @@ ifeq (yes,$(have-tunables)) > $(eval $(call include_dsosort_tests,dso-sort-tests-1.def)) > $(eval $(call include_dsosort_tests,dso-sort-tests-2.def)) > endif > +endif > +postclean-generated += $(objpfx)/dso-sort-tests-2.generated-makefile \ > + $(objpfx)/dso-sort-tests-2.generated-makefile > > check-abi: $(objpfx)check-abi-ld.out > tests-special += $(objpfx)check-abi-ld.out
From a928b52c036bb888797b3e81014f441f0d876b65 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" <hjl.tools@gmail.com> Date: Mon, 15 Nov 2021 16:28:39 -0800 Subject: [PATCH] elf: Use a temporary file to generate Makefile fragments [BZ #28550] Use a temporary file to generate Makefile fragments for DSO sorting tests and use -include on them. This partially fixes BZ #28550. --- elf/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/elf/Makefile b/elf/Makefile index a311c3e23c..57374fc690 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -498,8 +498,9 @@ endif define include_dsosort_tests $(objpfx)$(1).generated-makefile: $(1) $(PYTHON) $(..)scripts/dso-ordering-test.py \ - --description-file $$< --objpfx $(objpfx) --output-makefile $$@ -include $(objpfx)$(1).generated-makefile + --description-file $$< --objpfx $(objpfx) --output-makefile $$@T + mv $$@T $$@ +-include $(objpfx)$(1).generated-makefile endef # Generate from each testcase description file -- 2.33.1