svn commit: r528771 - in head/sysutils/xen-tools: . files

Roger Pau Monné royger at FreeBSD.org
Fri Mar 20 09:55:00 UTC 2020


Author: royger (src committer)
Date: Fri Mar 20 09:54:59 2020
New Revision: 528771
URL: https://svnweb.freebsd.org/changeset/ports/528771

Log:
  sysutils/xen-tools: fix build with clang 10.0
  
  Add upstream fix for clang 10.0 build.
  
  Sponsored by:		Citrix Systems R&D
  Approved by:		lwhsu
  Differential revision:	https://reviews.freebsd.org/D24097

Added:
  head/sysutils/xen-tools/files/
  head/sysutils/xen-tools/files/0001-libfsimage-fix-clang-10-build.patch   (contents, props changed)
Modified:
  head/sysutils/xen-tools/Makefile

Modified: head/sysutils/xen-tools/Makefile
==============================================================================
--- head/sysutils/xen-tools/Makefile	Fri Mar 20 09:36:06 2020	(r528770)
+++ head/sysutils/xen-tools/Makefile	Fri Mar 20 09:54:59 2020	(r528771)
@@ -3,7 +3,7 @@
 PORTNAME=	xen
 PKGNAMESUFFIX=	-tools
 PORTVERSION=	4.13.0
-PORTREVISION=	0
+PORTREVISION=	1
 CATEGORIES=	sysutils emulators
 MASTER_SITES=	http://downloads.xenproject.org/release/xen/${PORTVERSION}/
 
@@ -55,6 +55,9 @@ ALL_TARGET=		tools
 DOCS_ALL_TARGET=	docs
 INSTALL_TARGET=		install-tools
 DOCS_INSTALL_TARGET=	install-docs
+
+# Fix build with clang 10.0 (re convert enum constant to boolean)
+EXTRA_PATCHES+= ${PATCHDIR}/0001-libfsimage-fix-clang-10-build.patch
 
 .include <bsd.port.options.mk>
 

Added: head/sysutils/xen-tools/files/0001-libfsimage-fix-clang-10-build.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/xen-tools/files/0001-libfsimage-fix-clang-10-build.patch	Fri Mar 20 09:54:59 2020	(r528771)
@@ -0,0 +1,52 @@
+From e54c433adf01a242bf6e9fe9378a2c83d3f8b419 Mon Sep 17 00:00:00 2001
+From: Roger Pau Monne <roger.pau at citrix.com>
+Date: Fri, 13 Mar 2020 09:45:57 +0100
+Subject: [PATCH] libfsimage: fix clang 10 build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+clang complains with:
+
+fsys_zfs.c:826:2: error: converting the enum constant to a boolean [-Werror,-Wint-in-bool-context]
+        VERIFY_DN_TYPE(dn, DMU_OT_PLAIN_FILE_CONTENTS);
+        ^
+/wrkdirs/usr/ports/sysutils/xen-tools/work/xen-4.13.0/tools/libfsimage/zfs/../../../tools/libfsimage/zfs/fsys_zfs.h:74:11: note: expanded from macro 'VERIFY_DN_TYPE'
+        if (type && (dnp)->dn_type != type) { \
+                 ^
+1 error generated.
+
+Fix this by not forcing an implicit conversion of the enum into a
+boolean and instead comparing with the 0 enumerator.
+
+Signed-off-by: Roger Pau Monné <roger.pau at citrix.com>
+Acked-by: Wei Liu <wl at xen.org>
+---
+ tools/libfsimage/zfs/fsys_zfs.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/libfsimage/zfs/fsys_zfs.h b/tools/libfsimage/zfs/fsys_zfs.h
+index 5cd627dbac..721972a05a 100644
+--- a/tools/libfsimage/zfs/fsys_zfs.h
++++ b/tools/libfsimage/zfs/fsys_zfs.h
+@@ -71,7 +71,7 @@ typedef	unsigned int size_t;
+  * Can only be used in functions returning non-0 for failure.
+  */
+ #define	VERIFY_DN_TYPE(dnp, type) \
+-	if (type && (dnp)->dn_type != type) { \
++	if (type != DMU_OT_NONE && (dnp)->dn_type != type) { \
+ 		return (ERR_FSYS_CORRUPT); \
+ 	}
+ 
+@@ -80,7 +80,7 @@ typedef	unsigned int size_t;
+  * Can only be used in functions returning 0 for failure.
+  */
+ #define	VERIFY_OS_TYPE(osp, type) \
+-	if (type && (osp)->os_type != type) { \
++	if (type != DMU_OST_NONE && (osp)->os_type != type) { \
+ 		errnum = ERR_FSYS_CORRUPT; \
+ 		return (0); \
+ 	}
+-- 
+2.25.0
+


More information about the svn-ports-all mailing list