]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
elf: Use a temporary file to generate Makefile fragments [BZ #28550]
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 16 Nov 2021 00:28:39 +0000 (16:28 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 16 Nov 2021 13:18:01 +0000 (05:18 -0800)
1. Use a temporary file to generate Makefile fragments for DSO sorting
tests and use -include on them.
2. Add Makefile fragments to postclean-generated so that a "make clean"
removes the autogenerated fragments and a subsequent "make" regenerates
them.

This partially fixes BZ #28550.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
elf/Makefile

index a311c3e23cea2edc582e698e6be19824b1a76e7a..525f302d1adbe142920eb9f66b1e40c9136299c4 100644 (file)
@@ -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
@@ -498,9 +499,14 @@ 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
+endif
+
+postclean-generated += $(objpfx)/dso-sort-tests-2.generated-makefile \
+                      $(objpfx)/dso-sort-tests-2.generated-makefile
 
 # Generate from each testcase description file
 ifeq (yes,$(have-tunables))