[libvirt] [PATCH 1/2] Skip pdwtags-related tests when compiling with clang

Martin Kletzander mkletzan at redhat.com
Fri Mar 11 15:36:27 UTC 2016


The reason for this is that clang uses different ordering of dwarves
data in the object files, so our diff fails even though everything is
correct.  Workaround this by skipping such tests when using clang.

Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
---
 src/Makefile.am | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index d57d30361fa7..255db87af7dc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -485,7 +485,7 @@ struct_prefix = ($(libs_prefix)|$(other_prefix))
 # the newest of the two, in case configure options changed and a stale
 # file is left around from an earlier build.
 PDWTAGS = \
-	$(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then		\
+	$(AM_V_GEN)if (pdwtags --help && ! $(CC) --version | grep -q clang) >/dev/null 2>&1; then \
 	  o=`ls -t $(<:.lo=.$(OBJEXT))					\
 	     $(subst /,/.libs/,$(<:.lo=.$(OBJEXT)))			\
 	    2>/dev/null | sed -n 1p`;					\
@@ -522,6 +522,8 @@ PDWTAGS = \
 	    case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\
 	    diff -u $(@)s $(@F)-t3; st=$$?; rm -f $(@F)-t?; exit $$st;	\
 	  fi;								\
+	elif (pdwtags --help) >/dev/null 2>&1; then			\
+	  echo 'WARNING: Skipping the $@ test due to its incompatibility with clang' >&2; \
 	else								\
 	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2;	\
 	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
-- 
2.7.3




More information about the libvir-list mailing list