Re: [head tinderbox] failure on i386/i386

From: Kostik Belousov <kostikbel_at_gmail.com>
Date: Mon, 21 Mar 2011 22:56:11 +0200
On Mon, Mar 21, 2011 at 08:03:52PM +0000, FreeBSD Tinderbox wrote:
> TB --- 2011-03-21 17:50:00 - tinderbox 2.6 running on freebsd-current.sentex.ca
> TB --- 2011-03-21 17:50:00 - starting HEAD tinderbox run for i386/i386
> TB --- 2011-03-21 17:50:00 - cleaning the object tree
> TB --- 2011-03-21 17:50:13 - cvsupping the source tree
> TB --- 2011-03-21 17:50:13 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/i386/i386/supfile
> TB --- 2011-03-21 17:50:55 - building world
> TB --- 2011-03-21 17:50:55 - MAKEOBJDIRPREFIX=/obj
> TB --- 2011-03-21 17:50:55 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
> TB --- 2011-03-21 17:50:55 - TARGET=i386
> TB --- 2011-03-21 17:50:55 - TARGET_ARCH=i386
> TB --- 2011-03-21 17:50:55 - TZ=UTC
> TB --- 2011-03-21 17:50:55 - __MAKE_CONF=/dev/null
> TB --- 2011-03-21 17:50:55 - cd /src
> TB --- 2011-03-21 17:50:55 - /usr/bin/make -B buildworld
> >>> World build started on Mon Mar 21 17:50:55 UTC 2011
> >>> Rebuilding the temporary build tree
> >>> stage 1.1: legacy release compatibility shims
> >>> stage 1.2: bootstrap tools
> >>> stage 2.1: cleaning up the object tree
> >>> stage 2.2: rebuilding the object tree
> >>> stage 2.3: build tools
> >>> stage 3: cross tools
> >>> stage 4.1: building includes
> >>> stage 4.2: building libraries
> >>> stage 4.3: make dependencies
> >>> stage 4.4: building everything
> >>> World build completed on Mon Mar 21 19:42:02 UTC 2011
> TB --- 2011-03-21 19:42:02 - generating LINT kernel config
> TB --- 2011-03-21 19:42:02 - cd /src/sys/i386/conf
> TB --- 2011-03-21 19:42:02 - /usr/bin/make -B LINT
> TB --- 2011-03-21 19:42:02 - building LINT kernel
> TB --- 2011-03-21 19:42:02 - MAKEOBJDIRPREFIX=/obj
> TB --- 2011-03-21 19:42:02 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
> TB --- 2011-03-21 19:42:02 - TARGET=i386
> TB --- 2011-03-21 19:42:02 - TARGET_ARCH=i386
> TB --- 2011-03-21 19:42:02 - TZ=UTC
> TB --- 2011-03-21 19:42:02 - __MAKE_CONF=/dev/null
> TB --- 2011-03-21 19:42:02 - cd /src
> TB --- 2011-03-21 19:42:02 - /usr/bin/make -B buildkernel KERNCONF=LINT
> >>> Kernel build for LINT started on Mon Mar 21 19:42:02 UTC 2011
> >>> stage 1: configuring the kernel
> >>> stage 2.1: cleaning up the object tree
> >>> stage 2.2: rebuilding the object tree
> >>> stage 2.3: build tools
> >>> stage 3.1: making dependencies
> >>> stage 3.2: building everything
> [...]
> objcopy --strip-debug mlx.ko
> ===> mlx4 (all)
> cc -O2 -pipe -DINET6 -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I/src/sys/modules/mlx4/../../ofed/drivers/net/mlx4 -I/src/sys/modules/mlx4/../../ofed/include/ -DHAVE_KERNEL_OPTION_HEADERS -include /obj/i386.i386/src/sys/LINT/opt_global.h -I. -I_at_ -I_at_/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -I/obj/i386.i386/src/sys/LINT -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions -Wno-cast-qual -Wno-pointer-arith -fms-extensions -c /src/sys/modules/mlx4/../../ofed/drivers/net/mlx4/alloc.c
> cc1: warnings being treated as errors
> In file included from /src/sys/modules/mlx4/../../ofed/include/linux/slab.h:37,
>                  from /src/sys/modules/mlx4/../../ofed/drivers/net/mlx4/alloc.c:35:
> /src/sys/modules/mlx4/../../ofed/include/linux/gfp.h: In function 'page_address':
> /src/sys/modules/mlx4/../../ofed/include/linux/gfp.h:59: warning: cast to pointer from integer of different size
> *** Error code 1
> 
> Stop in /src/sys/modules/mlx4.
> *** Error code 1
> 
> Stop in /src/sys/modules.
> *** Error code 1
> 
> Stop in /obj/i386.i386/src/sys/LINT.
> *** Error code 1
> 
> Stop in /src.
> *** Error code 1
> 
> Stop in /src.
> TB --- 2011-03-21 20:03:52 - WARNING: /usr/bin/make returned exit code  1 
> TB --- 2011-03-21 20:03:52 - ERROR: failed to build lint kernel
> TB --- 2011-03-21 20:03:52 - 6470.66 user 1063.61 system 8031.83 real
> 

The patch below allows me to finish the kernel compilation on i386, as
well as on amd64.  I do not have better idea for the ib_addr.h chunk.

This leaves the ia64 failure unhandled.

diff --git a/sys/ofed/drivers/infiniband/hw/mthca/mthca_main.c b/sys/ofed/drivers/infiniband/hw/mthca/mthca_main.c
index 772cf8c..5401364 100644
--- a/sys/ofed/drivers/infiniband/hw/mthca/mthca_main.c
+++ b/sys/ofed/drivers/infiniband/hw/mthca/mthca_main.c
_at__at_ -1228,8 +1228,8 _at__at_ static int __devinit mthca_init_one(struct pci_dev *pdev,
 	}
 
 	if (id->driver_data >= ARRAY_SIZE(mthca_hca_table)) {
-		printk(KERN_ERR PFX "%s has invalid driver data %lx\n",
-		       pci_name(pdev), id->driver_data);
+		printk(KERN_ERR PFX "%s has invalid driver data %jx\n",
+		       pci_name(pdev), (uintmax_t)id->driver_data);
 		mutex_unlock(&mthca_device_mutex);
 		return -ENODEV;
 	}
diff --git a/sys/ofed/include/linux/gfp.h b/sys/ofed/include/linux/gfp.h
index 7f8a24f..661ff41 100644
--- a/sys/ofed/include/linux/gfp.h
+++ b/sys/ofed/include/linux/gfp.h
_at__at_ -56,7 +56,8 _at__at_ page_address(struct page *page)
 
 	if (page->object != kmem_object && page->object != kernel_object)
 		return (NULL);
-	return (void *)(VM_MIN_KERNEL_ADDRESS + IDX_TO_OFF(page->pindex));
+	return ((void *)(uintptr_t)(VM_MIN_KERNEL_ADDRESS +
+	    IDX_TO_OFF(page->pindex)));
 }
 
 static inline unsigned long
diff --git a/sys/ofed/include/linux/scatterlist.h b/sys/ofed/include/linux/scatterlist.h
index 611ad56..49dc31d 100644
--- a/sys/ofed/include/linux/scatterlist.h
+++ b/sys/ofed/include/linux/scatterlist.h
_at__at_ -36,7 +36,7 _at__at_ struct scatterlist {
 		struct page		*page;
 		struct scatterlist	*sg;
 	} sl_un;
-	unsigned long	address;
+	dma_addr_t	address;
 	unsigned long	offset;
 	uint32_t	length;
 	uint32_t	flags;
diff --git a/sys/ofed/include/rdma/ib_addr.h b/sys/ofed/include/rdma/ib_addr.h
index 61b0a7c..0783abe 100644
--- a/sys/ofed/include/rdma/ib_addr.h
+++ b/sys/ofed/include/rdma/ib_addr.h
_at__at_ -247,6 +247,7 _at__at_ static inline int iboe_get_rate(struct net_device *dev)
 #else
 static inline int iboe_get_rate(struct net_device *dev)
 {
+#ifdef __amd64__
 	if (dev->if_baudrate >= IF_Gbps(40ULL))
 		return IB_RATE_40_GBPS;
 	else if (dev->if_baudrate >= IF_Gbps(30ULL))
_at__at_ -256,6 +257,7 _at__at_ static inline int iboe_get_rate(struct net_device *dev)
 	else if (dev->if_baudrate >= IF_Gbps(10ULL))
 		return IB_RATE_10_GBPS;
 	else
+#endif
 		return IB_RATE_PORT_CURRENT;
 }
 #endif

Received on Mon Mar 21 2011 - 19:56:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:12 UTC