From 2b6fe1b2da8fcf8e8b075c4e653ab2c65bdc00a8 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Wed, 13 Jun 2018 07:55:57 +0000 Subject: [PATCH] Fix build of liquidio with base gcc on i386 Some casts from pointers to uint64_t and back in lio_main.c cause base gcc on i386 to warn "cast from pointer to integer of different size", and vice versa. Add additional casts to uintptr_t to suppress these. Reviewed by: sbruno MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D15754 --- sys/dev/liquidio/lio_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/liquidio/lio_main.c b/sys/dev/liquidio/lio_main.c index 99e9ad2e316..a7c1308c10d 100644 --- a/sys/dev/liquidio/lio_main.c +++ b/sys/dev/liquidio/lio_main.c @@ -1770,8 +1770,8 @@ lio_setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs) if (g == NULL) break; - g->sg = (struct lio_sg_entry *) - ((uint64_t)lio->glists_virt_base[i] + + g->sg = (struct lio_sg_entry *)(uintptr_t) + ((uint64_t)(uintptr_t)lio->glists_virt_base[i] + (j * lio->glist_entry_size)); g->sg_dma_ptr = (uint64_t)lio->glists_dma_base[i] + (j * lio->glist_entry_size);