[dpdk-dev] net/qede/base: build is broken on FreeBSD 11.0 with clang 3.8.0

Mody, Rasesh Rasesh.Mody at cavium.com
Wed Jan 18 02:33:50 CET 2017


> From: Andrew Rybchenko [mailto:arybchenko at solarflare.com]
> Sent: Tuesday, January 17, 2017 7:00 AM
> 
> Hi,
> 
> build is broken for me on FreeBSD 11.0. Just default config and gmake:
> 
> == Build drivers/net/qede
>    CC base/ecore_dev.o
>    CC base/ecore_hw.o
>    CC base/ecore_cxt.o
> /tmp/dpdk-next-net/drivers/net/qede/base/ecore_cxt.c:1257:2: error:
>        shifting a negative signed value is undefined [-Werror,-Wshift-negative-
> value]
>          SET_FIELD(cdu_params, CDUC_NCIB, elems_per_page);
>          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp//dpdk-next-net/drivers/net/qede/base/ecore.h:82:27: note:
>        expanded from macro 'SET_FIELD'
>          (value) &= ~(name##_MASK << name##_SHIFT);                      \
>                       ~~~~~~~~~~~ ^
> /tmp/dpdk-next-net/drivers/net/qede/base/ecore_cxt.c:1268:2: error:
>        shifting a negative signed value is undefined [-Werror,-Wshift-negative-
> value]
>          SET_FIELD(cdu_params, CDUT_TYPE0_CXT_SIZE, (cxt_size >> 3));
> 
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ~
> /tmp/dpdk-next-net/drivers/net/qede/base/ecore.h:82:27: note:
>        expanded from macro 'SET_FIELD'
>          (value) &= ~(name##_MASK << name##_SHIFT);                      \
>                       ~~~~~~~~~~~ ^
> /tmp/dpdk-next-net/drivers/net/qede/base/ecore_cxt.c:1280:2: error:
>        shifting a negative signed value is undefined [-Werror,-Wshift-negative-
> value]
>          SET_FIELD(cdu_params, CDUT_TYPE1_CXT_SIZE, (cxt_size >> 3));
> 
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ~
> /tmp/dpdk-next-net/drivers/net/qede/base/ecore.h:82:27: note:
>        expanded from macro 'SET_FIELD'
>          (value) &= ~(name##_MASK << name##_SHIFT);                      \
>                       ~~~~~~~~~~~ ^
> 3 errors generated.
> gmake[5]: *** [/tmp/dpdk-next-net/mk/internal/rte.compile-pre.mk:140:
> base/ecore_cxt.o] Error 1
> gmake[4]: *** [/tmp/dpdk-next-net/mk/rte.subdir.mk:63: qede] Error 2
> gmake[3]: *** [/tmp/dpdk-next-net/mk/rte.subdir.mk:63: net] Error 2
> gmake[2]: *** [/tmp/dpdk-next-net/mk/rte.sdkbuild.mk:80: drivers] Error 2
> gmake[1]: *** [/tmp/dpdk-next-net/mk/rte.sdkroot.mk:127: all] Error 2
> gmake: *** [Makefile:12: all] Error 2
> 
> $ clang --version
> FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on LLVM
> 3.8.0)
> Target: x86_64-unknown-freebsd11.0
> Thread model: posix
> InstalledDir: /usr/bin

We didn’t see these errors reported in our internal testing.
FreeBSD clang version 3.6.1 (tags/RELEASE_361/final 237755) 20150525
Target: x86_64-unknown-freebsd11.0
Thread model: posix

We'll update our FreeBSD clang compiler version to test against 3.8.0.

Thanks!
-Rasesh
 
> Andrew.


More information about the dev mailing list