On Fri, Oct 30, 2020 at 4:25 PM McDaniel, Timothy
<timothy.mcdan...@intel.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Jerin Jacob <jerinjac...@gmail.com>
> > Sent: Friday, October 30, 2020 9:22 AM
> > To: McDaniel, Timothy <timothy.mcdan...@intel.com>
> > Cc: dpdk-dev <dev@dpdk.org>; Carrillo, Erik G <erik.g.carri...@intel.com>; 
> > Eads,
> > Gage <gage.e...@intel.com>; Van Haaren, Harry
> > <harry.van.haa...@intel.com>; Jerin Jacob <jer...@marvell.com>; Thomas
> > Monjalon <tho...@monjalon.net>
> > Subject: Re: [dpdk-dev] [PATCH v5 00/23] Add DLB2 PMD
> >
> > On Fri, Oct 30, 2020 at 3:19 PM Timothy McDaniel
> > <timothy.mcdan...@intel.com> wrote:
> >
> > >
> > > Timothy McDaniel (23):
> > >   event/dlb2: add documentation and meson build infrastructure
> > >   event/dlb2: add dynamic logging
> > >   event/dlb2: add private data structures and constants
> > >   event/dlb2: add definitions shared with LKM or shared code
> > >   event/dlb2: add inline functions
> > >   event/dlb2: add eventdev probe
> >
> > There is build error with clang  and static build here.
> > Please send the next version with fix.
> >
> > meson  -Dexamples=l3fwd --buildtype=debugoptimized --werror
> > --default-library=static /export/dpdk-next-eventdev/devtools/..
> > ./build-clang-static
> > The Meson build system
> > Version: 0.55.3
> > Source dir: /export/dpdk-next-eventdev
> > Build dir: /export/dpdk-next-eventdev/build-clang-static
> > Build type: native build
> > Program cat found: YES
> > Using 'PKG_CONFIG_PATH' from environment with value: ''
> > Using 'PKG_CONFIG_PATH' from environment with value: ''
> > Project name: DPDK
> > Project version: 20.11.0-rc1
> > Using 'CC' from environment with value: 'ccache clang'
> > Using 'CFLAGS' from environment with value: ''
> > Using 'LDFLAGS' from environment with value: ''
> > Using 'CPPFLAGS' from environment with value: ''
> > Using 'CC' from environment with value: 'ccache clang'
> > Using 'CFLAGS' from environment with value: ''
> > Using 'LDFLAGS' from environment with value: ''
> > Using 'CPPFLAGS' from environment with value: ''
> > C compiler for the host machine: ccache clang (clang 10.0.1 "clang
> > version 10.0.1 ")
> > C linker for the host machine: clang ld.bfd 2.35.1
> > Host machine cpu family: x86_64
> > Host machine cpu: x86_64
> > Program pkg-config found: YES
> > Program gen-pmdinfo-cfile.sh found: YES
> > Program list-dir-globs.py found: YES
> > Program check-symbols.sh found: YES
> > Program options-ibverbs-static.sh found: YES
> > Program binutils-avx512-check.sh found: YES
> > Program python3 found: YES (/usr/bin/python)
> >
> >
> >
> > ccache clang -Idrivers/libtmp_rte_event_dlb2.a.p -Idrivers
> > -I../drivers -Idrivers/event/dlb2 -I../drivers/event/dlb2
> > -Ilib/librte_eventdev -I../lib/librte_eventdev -I. -I.. -Iconfig
> > -I../config -Ilib/librte_eal/include -I../lib/librte_eal/i
> > nclude -Ilib/librte_eal/linux/include
> > -I../lib/librte_eal/linux/include -Ilib/librte_eal/x86/include
> > -I../lib/librte_eal/x86/include -Ilib/librte_eal/common
> > -I../lib/librte_eal/common -Ilib/librte_eal -I../lib/librte_eal
> > -Ilib/librte_kvargs
> >  -I../lib/librte_kvargs -Ilib/librte_metrics -I../lib/librte_metrics
> > -Ilib/librte_telemetry -I../lib/librte_telemetry -Ilib/librte_ring
> > -I../lib/librte_ring -Ilib/librte_ethdev -I../lib/librte_ethdev
> > -Ilib/librte_net -I../lib/librte_net -Il
> > ib/librte_mbuf -I../lib/librte_mbuf -Ilib/librte_mempool
> > -I../lib/librte_mempool -Ilib/librte_meter -I../lib/librte_meter
> > -Ilib/librte_hash -I../lib/librte_hash -Ilib/librte_rcu
> > -I../lib/librte_rcu -Ilib/librte_timer -I../lib/librte_timer -
> > Ilib/librte_cryptodev -I../lib/librte_cryptodev -Ilib/librte_pci
> > -I../lib/librte_pci -Idrivers/bus/pci -I../drivers/bus/pci
> > -I../drivers/bus/pci/linux -Xclang -fcolor-diagnostics -pipe
> > -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O2
> > -g -include rte_config.h -Wextra -Wcast-qual -Wdeprecated
> > -Wformat-nonliteral -Wformat-security -Wmissing-declarations
> > -Wmissing-prototypes -Wnested-externs -Wold-style-definition
> > -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -
> > Wwrite-strings -Wno-address-of-packed-member
> > -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native
> > -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -MD -MQ
> > drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_main.c.o -MF
> > drivers/l
> > ibtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_main.c.o.d -o
> > drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_main.c.o -c
> > ../drivers/event/dlb2/pf/dlb2_main.c
> > In file included from ../drivers/event/dlb2/pf/dlb2_main.c:22:
> > ../drivers/event/dlb2/pf/../dlb2_inline_fns.h:41:2: error: use of
> > unknown builtin '__builtin_ia32_movntdq'
> > [-Wimplicit-function-declaration]
> >         __builtin_ia32_movntdq((__v2di *)pp_addr, (__v2di)src_data0);
> >         ^
> > ../drivers/event/dlb2/pf/../dlb2_inline_fns.h:41:2: note: did you mean
> > '__builtin_ia32_movntq'?
> > /usr/lib/clang/10.0.1/include/xmmintrin.h:2122:3: note:
> > '__builtin_ia32_movntq' declared here
> >   __builtin_ia32_movntq(__p, __a);
> >
> >   [2010/2491] Compiling C object
> > drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o
> > FAILED: drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o
> > ccache clang -Idrivers/libtmp_rte_event_dlb2.a.p -Idrivers
> > -I../drivers -Idrivers/event/dlb2 -I../drivers/event/dlb2
> > -Ilib/librte_eventdev -I../lib/librte_eventdev -I. -I.. -Iconfig
> > -I../config -Ilib/librte_eal/include -I../lib/librte_eal/i
> > nclude -Ilib/librte_eal/linux/include
> > -I../lib/librte_eal/linux/include -Ilib/librte_eal/x86/include
> > -I../lib/librte_eal/x86/include -Ilib/librte_eal/common
> > -I../lib/librte_eal/common -Ilib/librte_eal -I../lib/librte_eal
> > -Ilib/librte_kvargs
> >  -I../lib/librte_kvargs -Ilib/librte_metrics -I../lib/librte_metrics
> > -Ilib/librte_telemetry -I../lib/librte_telemetry -Ilib/librte_ring
> > -I../lib/librte_ring -Ilib/librte_ethdev -I../lib/librte_ethdev
> > -Ilib/librte_net -I../lib/librte_net -Il
> > ib/librte_mbuf -I../lib/librte_mbuf -Ilib/librte_mempool
> > -I../lib/librte_mempool -Ilib/librte_meter -I../lib/librte_meter
> > -Ilib/librte_hash -I../lib/librte_hash -Ilib/librte_rcu
> > -I../lib/librte_rcu -Ilib/librte_timer -I../lib/librte_timer -
> > Ilib/librte_cryptodev -I../lib/librte_cryptodev -Ilib/librte_pci
> > -I../lib/librte_pci -Idrivers/bus/pci -I../drivers/bus/pci
> > -I../drivers/bus/pci/linux -Xclang -fcolor-diagnostics -pipe
> > -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O2
> > -g -include rte_config.h -Wextra -Wcast-qual -Wdeprecated
> > -Wformat-nonliteral -Wformat-security -Wmissing-declarations
> > -Wmissing-prototypes -Wnested-externs -Wold-style-definition
> > -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -
> > Wwrite-strings -Wno-address-of-packed-member
> > -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native
> > -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -MD -MQ
> > drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o -MF
> > drivers/lib
> > tmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o.d -o
> > drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o -c
> > ../drivers/event/dlb2/pf/dlb2_pf.c
> > In file included from ../drivers/event/dlb2/pf/dlb2_pf.c:35:
> > ../drivers/event/dlb2/pf/../dlb2_inline_fns.h:41:2: error: use of
> > unknown builtin '__builtin_ia32_movntdq'
> > [-Wimplicit-function-declaration]
> >         __builtin_ia32_movntdq((__v2di *)pp_addr, (__v2di)src_data0);
>
> Not sure why this builds for me, but I do not see this error.

Reproduced the same error on fc31.
$ clang --version
clang version 9.0.1 (Fedora 9.0.1-2.fc31)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

$ ./devtools/test-meson-builds.sh
...

FAILED: drivers/a715181@@tmp_rte_event_dlb2@sta/event_dlb2_dlb2.c.o
ccache clang -Idrivers/a715181@@tmp_rte_event_dlb2@sta -Idrivers
-I../../dpdk/drivers -Idrivers/event/dlb2
-I../../dpdk/drivers/event/dlb2 -Ilib/librte_eventdev
-I../../dpdk/lib/librte_eventdev -I. -I../../dpdk/ -Iconfig
-I../../dpdk/config -Ilib/librte_eal/include
-I../../dpdk/lib/librte_eal/include -Ilib/librte_eal/linux/include
-I../../dpdk/lib/librte_eal/linux/include -Ilib/librte_eal/x86/include
-I../../dpdk/lib/librte_eal/x86/include -Ilib/librte_eal/common
-I../../dpdk/lib/librte_eal/common -Ilib/librte_eal
-I../../dpdk/lib/librte_eal -Ilib/librte_kvargs
-I../../dpdk/lib/librte_kvargs
-Ilib/librte_telemetry/../librte_metrics
-I../../dpdk/lib/librte_telemetry/../librte_metrics
-Ilib/librte_telemetry -I../../dpdk/lib/librte_telemetry
-Ilib/librte_ring -I../../dpdk/lib/librte_ring -Ilib/librte_ethdev
-I../../dpdk/lib/librte_ethdev -Ilib/librte_net
-I../../dpdk/lib/librte_net -Ilib/librte_mbuf
-I../../dpdk/lib/librte_mbuf -Ilib/librte_mempool
-I../../dpdk/lib/librte_mempool -Ilib/librte_meter
-I../../dpdk/lib/librte_meter -Ilib/librte_hash
-I../../dpdk/lib/librte_hash -Ilib/librte_rcu
-I../../dpdk/lib/librte_rcu -Ilib/librte_timer
-I../../dpdk/lib/librte_timer -Ilib/librte_cryptodev
-I../../dpdk/lib/librte_cryptodev -Ilib/librte_pci
-I../../dpdk/lib/librte_pci -Idrivers/bus/pci
-I../../dpdk/drivers/bus/pci -I../../dpdk/drivers/bus/pci/linux
-I/home/dmarchan/intel-ipsec-mb/install/include -Xclang
-fcolor-diagnostics -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch
-Werror -O2 -g -include rte_config.h -Wextra -Wcast-qual -Wdeprecated
-Wformat-nonliteral -Wformat-security -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wold-style-definition
-Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef
-Wwrite-strings -Wno-address-of-packed-member
-Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native
-DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -MD -MQ
'drivers/a715181@@tmp_rte_event_dlb2@sta/event_dlb2_dlb2.c.o' -MF
'drivers/a715181@@tmp_rte_event_dlb2@sta/event_dlb2_dlb2.c.o.d' -o
'drivers/a715181@@tmp_rte_event_dlb2@sta/event_dlb2_dlb2.c.o' -c
../../dpdk/drivers/event/dlb2/dlb2.c
In file included from ../../dpdk/drivers/event/dlb2/dlb2.c:35:
../../dpdk/drivers/event/dlb2/dlb2_inline_fns.h:41:2: error: use of
unknown builtin '__builtin_ia32_movntdq'
[-Wimplicit-function-declaration]
        __builtin_ia32_movntdq((__v2di *)pp_addr, (__v2di)src_data0);
        ^
../../dpdk/drivers/event/dlb2/dlb2_inline_fns.h:41:2: note: did you
mean '__builtin_ia32_movntq'?
/usr/lib64/clang/9.0.1/include/xmmintrin.h:2122:3: note:
'__builtin_ia32_movntq' declared here
  __builtin_ia32_movntq(__p, __a);
  ^
1 error generated.


FAILED: drivers/a715181@@tmp_rte_event_dlb2@sta/event_dlb2_dlb2_selftest.c.o
ccache clang -Idrivers/a715181@@tmp_rte_event_dlb2@sta -Idrivers
-I../../dpdk/drivers -Idrivers/event/dlb2
-I../../dpdk/drivers/event/dlb2 -Ilib/librte_eventdev
-I../../dpdk/lib/librte_eventdev -I. -I../../dpdk/ -Iconfig
-I../../dpdk/config -Ilib/librte_eal/include
-I../../dpdk/lib/librte_eal/include -Ilib/librte_eal/linux/include
-I../../dpdk/lib/librte_eal/linux/include -Ilib/librte_eal/x86/include
-I../../dpdk/lib/librte_eal/x86/include -Ilib/librte_eal/common
-I../../dpdk/lib/librte_eal/common -Ilib/librte_eal
-I../../dpdk/lib/librte_eal -Ilib/librte_kvargs
-I../../dpdk/lib/librte_kvargs
-Ilib/librte_telemetry/../librte_metrics
-I../../dpdk/lib/librte_telemetry/../librte_metrics
-Ilib/librte_telemetry -I../../dpdk/lib/librte_telemetry
-Ilib/librte_ring -I../../dpdk/lib/librte_ring -Ilib/librte_ethdev
-I../../dpdk/lib/librte_ethdev -Ilib/librte_net
-I../../dpdk/lib/librte_net -Ilib/librte_mbuf
-I../../dpdk/lib/librte_mbuf -Ilib/librte_mempool
-I../../dpdk/lib/librte_mempool -Ilib/librte_meter
-I../../dpdk/lib/librte_meter -Ilib/librte_hash
-I../../dpdk/lib/librte_hash -Ilib/librte_rcu
-I../../dpdk/lib/librte_rcu -Ilib/librte_timer
-I../../dpdk/lib/librte_timer -Ilib/librte_cryptodev
-I../../dpdk/lib/librte_cryptodev -Ilib/librte_pci
-I../../dpdk/lib/librte_pci -Idrivers/bus/pci
-I../../dpdk/drivers/bus/pci -I../../dpdk/drivers/bus/pci/linux
-I/home/dmarchan/intel-ipsec-mb/install/include -Xclang
-fcolor-diagnostics -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch
-Werror -O2 -g -include rte_config.h -Wextra -Wcast-qual -Wdeprecated
-Wformat-nonliteral -Wformat-security -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wold-style-definition
-Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef
-Wwrite-strings -Wno-address-of-packed-member
-Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native
-DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -MD -MQ
'drivers/a715181@@tmp_rte_event_dlb2@sta/event_dlb2_dlb2_selftest.c.o'
-MF 'drivers/a715181@@tmp_rte_event_dlb2@sta/event_dlb2_dlb2_selftest.c.o.d'
-o 'drivers/a715181@@tmp_rte_event_dlb2@sta/event_dlb2_dlb2_selftest.c.o'
-c ../../dpdk/drivers/event/dlb2/dlb2_selftest.c
../../dpdk/drivers/event/dlb2/dlb2_selftest.c:139:1: error: unused
function 'create_ordered_qids' [-Werror,-Wunused-function]
create_ordered_qids(struct test *t, int num_qids)
^
../../dpdk/drivers/event/dlb2/dlb2_selftest.c:145:1: error: unused
function 'create_unordered_qids' [-Werror,-Wunused-function]
create_unordered_qids(struct test *t, int num_qids)
^
../../dpdk/drivers/event/dlb2/dlb2_selftest.c:151:1: error: unused
function 'create_directed_qids' [-Werror,-Wunused-function]
create_directed_qids(struct test *t, int num_qids, const uint8_t ports[])
^
3 errors generated.




I also see a different issue with RHEL 7 gcc:

Found ninja-1.7.2 at /usr/bin/ninja-build
[1908/2413] Compiling C object
'drivers/drivers@@tmp_rte_event_dlb2@sta/event_dlb2_dlb2.c.o'.
../drivers/event/dlb2/dlb2.c: In function ‘dlb2_hw_create_ldb_port’:
../drivers/event/dlb2/dlb2.c:1091:9: warning: missing braces around
initializer [-Wmissing-braces]
  struct dlb2_create_ldb_port_args cfg = {0};
         ^
../drivers/event/dlb2/dlb2.c:1091:9: warning: (near initialization for
‘cfg.response’) [-Wmissing-braces]
../drivers/event/dlb2/dlb2.c: In function ‘dlb2_hw_create_dir_port’:
../drivers/event/dlb2/dlb2.c:1263:9: warning: missing braces around
initializer [-Wmissing-braces]
  struct dlb2_create_dir_port_args cfg = {0};
         ^
../drivers/event/dlb2/dlb2.c:1263:9: warning: (near initialization for
‘cfg.response’) [-Wmissing-braces]


-- 
David Marchand

Reply via email to