[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



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 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]