Bug 740 - event/cnxk/cnxk_tim_worker build failures on Ubuntu 20.04 cross-compile with clang 10
Summary: event/cnxk/cnxk_tim_worker build failures on Ubuntu 20.04 cross-compile with ...
Status: UNCONFIRMED
Alias: None
Product: DPDK
Classification: Unclassified
Component: ethdev (show other bugs)
Version: unspecified
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: dev
URL:
Depends on:
Blocks:
 
Reported: 2021-06-16 19:24 CEST by Brandon Lo
Modified: 2021-06-21 04:46 CEST (History)
1 user (show)



Attachments

Description Brandon Lo 2021-06-16 19:24:09 CEST
Cross-compiling DPDK on Ubuntu 20.04 with clang 10.0.0-4ubuntu1 on latest main (46c451d905e8e27787a0471ecc1d31a4cde25a9e)  

$ CC_FOR_BUILD=clang meson build --werror --cross-file config/arm/arm64_armv8_linux_clang_ubuntu1804 -Dexamples=all --default-library shared  

The Meson build system
Version: 0.58.0

Found ninja-1.10.0 at /usr/bin/ninja
  
[1901/2540] Compiling C object drivers/libtmp_rte_event_cnxk.a.p/event_cnxk_cnxk_tim_worker.c.o  
FAILED: drivers/libtmp_rte_event_cnxk.a.p/event_cnxk_cnxk_tim_worker.c.o 
clang -Idrivers/libtmp_rte_event_cnxk.a.p -Idrivers -I../drivers -Idrivers/event/cnxk -I../drivers/event/cnxk -Ilib/eventdev -I../lib/eventdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/arm/include -I../lib/eal/arm/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ring -I../lib/ring -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/meter -I../lib/meter -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/timer -I../lib/timer -Ilib/cryptodev -I../lib/cryptodev -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/common/cnxk -I../drivers/common/cnxk -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O3 -include rte_config.h -Wextra -Wcast-qual -Wdeprecated -Wformat -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 -target aarch64-linux-gnu --sysroot /usr/aarch64-linux-gnu -fPIC -march=armv8-a+crc -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DRTE_LOG_DEFAULT_LOGTYPE=pmd.event.cnxk -MD -MQ drivers/libtmp_rte_event_cnxk.a.p/event_cnxk_cnxk_tim_worker.c.o -MF drivers/libtmp_rte_event_cnxk.a.p/event_cnxk_cnxk_tim_worker.c.o.d -o drivers/libtmp_rte_event_cnxk.a.p/event_cnxk_cnxk_tim_worker.c.o -c ../drivers/event/cnxk/cnxk_tim_worker.c
In file included from ../drivers/event/cnxk/cnxk_tim_worker.c:6:
../drivers/event/cnxk/cnxk_tim_worker.h:372:23: error: value size does not match register size specified by the constraint and modifier [-Werror,-Wasm-operand-widths]
                             : [rem] "=&r"(rem)
                                           ^
../drivers/event/cnxk/cnxk_tim_worker.h:365:17: note: use constraint modifier "w"
                             "          ldxr %[rem], [%[crem]]  \n"
                                             ^~~~~~
                                             %w[rem]
../drivers/event/cnxk/cnxk_tim_worker.h:372:23: error: value size does not match register size specified by the constraint and modifier [-Werror,-Wasm-operand-widths]
                             : [rem] "=&r"(rem)
                                           ^
../drivers/event/cnxk/cnxk_tim_worker.h:366:16: note: use constraint modifier "w"
                             "          tbz %[rem], 63, dne%=           \n"
                                            ^~~~~~
                                            %w[rem]
../drivers/event/cnxk/cnxk_tim_worker.h:372:23: error: value size does not match register size specified by the constraint and modifier [-Werror,-Wasm-operand-widths]
                             : [rem] "=&r"(rem)
                                           ^
../drivers/event/cnxk/cnxk_tim_worker.h:369:17: note: use constraint modifier "w"
                             "          ldxr %[rem], [%[crem]]  \n"
                                             ^~~~~~
                                             %w[rem]
../drivers/event/cnxk/cnxk_tim_worker.h:372:23: error: value size does not match register size specified by the constraint and modifier [-Werror,-Wasm-operand-widths]
                             : [rem] "=&r"(rem)
                                           ^
../drivers/event/cnxk/cnxk_tim_worker.h:370:17: note: use constraint modifier "w"
                             "          tbnz %[rem], 63, rty%=          \n"
                                             ^~~~~~
                                             %w[rem]
4 errors generated.
[1918/2540] Compiling C object drivers/libtmp_rte_event_octeontx2.a.p/event_octeontx2_otx2_worker.c.o
Comment 1 Ruifeng Wang 2021-06-21 04:46:31 CEST
Issue reproduced by native build with Clang-10 on Arm.
Patch has been sent out for review:
http://patches.dpdk.org/project/dpdk/patch/20210610072511.232027-1-ruifeng.wang@arm.com/

Thanks.

Note You need to log in before you can comment on or make changes to this bug.