Make ABI tests generate .out files

Joseph S. Myers joseph@codesourcery.com
Wed Feb 12 18:34:00 GMT 2014


If you rerun "make check" in a tree where some tests have already been
run, it will rerun ABI tests because those do not create an output
file.

This patch changes those tests to create .out files so they only get
rerun if the dependencies (on the ABI baselines and the generated
.symlist files) indicate they should be rerun.

Tested x86_64.

(The ChangeLog entry explicitly says "target" and "variable" to avoid
confusion with there being entries for both a target called check-abi
and a variable called check-abi.)

2014-02-12  Joseph Myers  <joseph@codesourcery.com>

	* Makerules (check-abi-%): Change target to
	$(objpfx)check-abi-%.out.
	(check-abi target): Update dependencies.
	(check-abi-pattern variable): Redirect output of diff to $@.
	(check-abi variable): Likewise.
	* elf/Makefile (check-abi): Update dependencies.

diff --git a/Makerules b/Makerules
index b46b09b..13c3fae 100644
--- a/Makerules
+++ b/Makerules
@@ -1193,21 +1193,25 @@ vpath %.abilist $(+sysdep_dirs)
 generated += $(extra-libs:=.symlist)
 
 ifdef abilist-pattern
-check-abi-%: $(common-objpfx)config.make $(abilist-pattern) $(objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make $(abilist-pattern) \
+			  $(objpfx)%.symlist
 	$(check-abi-pattern)
-check-abi-%: $(common-objpfx)config.make $(abilist-pattern) \
-	     $(common-objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make $(abilist-pattern) \
+			  $(common-objpfx)%.symlist
 	$(check-abi-pattern)
 endif
-check-abi-%: $(common-objpfx)config.make %.abilist $(objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make %.abilist \
+			  $(objpfx)%.symlist
 	$(check-abi)
-check-abi-%: $(common-objpfx)config.make %.abilist $(common-objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make %.abilist \
+			  $(common-objpfx)%.symlist
 	$(check-abi)
 define check-abi-pattern
-	diff -p -U 0 $(filter $(abilist-pattern),$^) $(filter %.symlist,$^)
+	diff -p -U 0 $(filter $(abilist-pattern),$^) $(filter %.symlist,$^) \
+	     > $@
 endef
 define check-abi
-	diff -p -U 0 $(filter %.abilist,$^) $(filter %.symlist,$^)
+	diff -p -U 0 $(filter %.abilist,$^) $(filter %.symlist,$^) > $@
 endef
 
 ifdef abilist-pattern
@@ -1239,7 +1243,7 @@ endef
 
 .PHONY: update-abi check-abi
 update-abi: $(patsubst %.so,update-abi-%,$(install-lib.so-versioned))
-check-abi: $(patsubst %.so,check-abi-%,$(install-lib.so-versioned))
+check-abi: $(patsubst %.so,$(objpfx)check-abi-%.out,$(install-lib.so-versioned))
 ifdef subdir
 subdir_check-abi: check-abi
 subdir_update-abi: update-abi
@@ -1249,7 +1253,7 @@ update-abi: subdir_update-abi
 endif
 
 ifeq ($(subdir),elf)
-check-abi: check-abi-libc
+check-abi: $(objpfx)check-abi-libc.out
 update-abi: update-abi-libc
 common-generated += libc.symlist
 endif
diff --git a/elf/Makefile b/elf/Makefile
index 4c58fc9..a684b6b 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -255,7 +255,7 @@ endif
 
 include ../Rules
 
-check-abi: check-abi-ld
+check-abi: $(objpfx)check-abi-ld.out
 update-abi: update-abi-ld
 
 ifeq (yes,$(build-shared))

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Libc-alpha mailing list