On Mon, Nov 15, 2021 at 12:18 PM Adhemerval Zanella wrote: > > > > On 15/11/2021 16:51, H.J. Lu wrote: > > On Mon, Nov 15, 2021 at 10:59 AM Adhemerval Zanella > > wrote: > >> > >> > >> > >> On 08/11/2021 12:42, H.J. Lu via Libc-alpha wrote: > >>> Generate Makefile fragment for DSO sorting tests at configure time. > >>> > >>> This partially fixes BZ #28550. > >> > >> I am not sure if configure.ac is the right place to generate the Makefile > >> fragment required for tests. Can we use 'avoid-generated' instead? > >> > >> > >> diff --git a/elf/Makefile b/elf/Makefile > >> index a311c3e23c..8556105a20 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)-dir for each testcase, and creates a > >> @@ -507,6 +508,7 @@ 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 > > > > It doesn't work. "make check -j28" on a machine with 112 cores failed: > > > > /export/users/hjl/build/gnu/tools-build/glibc-cet-gitlab/build-x86_64-linux/elf/dso-sort-tests-1.def.generated-makefile:938: > > warning: ignoring old recipe for target > > '/export/users/hjl/build/gnu/tools-build/glibc-cet-gitlab/build-x86_64-linux/elf/tst-dso-ordering9-dir/tst-dso-ordering9_25-bacde-b.so' > > ... > > make[3]: *** [Makefile:483: elf/tests] Error 2 > > > > I couldn't find the exact error message in a very long make log file. > This is usual way to create other auto-generated Makefile fragments, such as > sysd-sycalls and time64-compat.mk. Maybe the below helps (I forgot to use > '-include' and add the fragments on postclean-generated). > > > diff --git a/elf/Makefile b/elf/Makefile > index a311c3e23c..0e6d7ffb51 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)-dir for each testcase, and creates a > @@ -499,7 +500,7 @@ 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 > +-include $(objpfx)$(1).generated-makefile > endef > > # Generate from each testcase description file > @@ -507,6 +508,10 @@ 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 This works for me. Thanks. -- H.J.