aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2021-11-15 16:28:39 -0800
committerH.J. Lu <hjl.tools@gmail.com>2021-11-16 05:18:01 -0800
commit1f67d8286b5da9266a138198ef1f15c27cbb0010 (patch)
tree0e1e535f4dda721e54fd8bdb8296cdbe2b438e81 /elf
parentb4bbedb1e75737a80bcc3d53d6eef1fbe0b5f4d5 (diff)
downloadglibc-1f67d8286b5da9266a138198ef1f15c27cbb0010.zip
glibc-1f67d8286b5da9266a138198ef1f15c27cbb0010.tar.gz
glibc-1f67d8286b5da9266a138198ef1f15c27cbb0010.tar.bz2
elf: Use a temporary file to generate Makefile fragments [BZ #28550]
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>
Diffstat (limited to 'elf')
-rw-r--r--elf/Makefile10
1 files changed, 8 insertions, 2 deletions
diff --git a/elf/Makefile b/elf/Makefile
index a311c3e..525f302 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
@@ -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))