From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 333E1A04A3; Tue, 16 Jun 2020 00:13:24 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 811252B94; Tue, 16 Jun 2020 00:13:23 +0200 (CEST) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 7AE0E25B3 for ; Tue, 16 Jun 2020 00:13:22 +0200 (CEST) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id D5C085C00B3; Mon, 15 Jun 2020 18:13:20 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Mon, 15 Jun 2020 18:13:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s=fm1; bh= OxSfo73q6UE4oLrtdGGHHTQrJ9JPtod6KUBZCL+qFhA=; b=u6oRuyZoJXwWAcau 4oEZ+uxAo/jZRhYuiL18QLLQH5xtk5sptCxbOFx1kcMdLlyEdIXcJoAzB0HQ7Qdo lhfRlEeBPbrOo9sXivgY61et42ncWj/y4OQgLZx/BnqNTHOkvxhRYQyp3F1L+sAE r9Jf0Q9wFwjJt8q1H6hGEjEfaIJriWgv8rKERXMDtGdCBqYfExw9EQUgTKdSlG/6 OIqnI8iCilnBTa3lXT9uCabbZh8HakLtnxCRXfqnSW6WVFW4DIeryDvFsUTgHHxt Oj0AB5qjFMxntoT5vvc0FdYt/ho5PvoYW4kKkXVCgvhXdzZnYyjURUzcuKAoRr7B bbH8eA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=OxSfo73q6UE4oLrtdGGHHTQrJ9JPtod6KUBZCL+qF hA=; b=asp4kRWfC4DfN8Cwp/7ZdUKdkZ3td83HAwFtrblvwlGKNY8Fg76UOH/LU E17DsRx+W8vebskbibTFnlM0RjaMffdVI/XTDeLROXsttQR/sreEepjSWFnAi48/ W9ENCTQD91kXFcv6Zw57cA92r0QWxlletXTaIsTsaQTpqveiwwGqLAokDY9NddLh NSFJetb5fTx3fX9DD8VSQ80ZbeR0IkFLXvogTS8974YwIZyyk9TWdtDxPK3NtpwT idyoSUUSWXZ+pzexRHOI42ApL4CJdoP0spDbzFbQ9JtYoh1kgEYerEXoSuxa7rE6 1+vTn7tad7LpvkMv9fQEkqu+xhDlw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrudeiledgtdekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkjghfggfgtgesthfure dttddtvdenucfhrhhomhepvfhhohhmrghsucfoohhnjhgrlhhonhcuoehthhhomhgrshes mhhonhhjrghlohhnrdhnvghtqeenucggtffrrghtthgvrhhnpedugefgvdefudfftdefge elgffhueekgfffhfeujedtteeutdejueeiiedvffegheenucfkphepjeejrddufeegrddv tdefrddukeegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 86A8D30618B7; Mon, 15 Jun 2020 18:13:19 -0400 (EDT) From: Thomas Monjalon To: David Christensen Cc: dev@dpdk.org, david.marchand@redhat.com, bruce.richardson@intel.com Date: Tue, 16 Jun 2020 00:13:17 +0200 Message-ID: <5942466.NH09dW5kea@thomas> In-Reply-To: <9b811c9b-5b56-57a7-c939-6e5dbf888447@linux.vnet.ibm.com> References: <20200614225747.3839569-1-thomas@monjalon.net> <20200614225747.3839569-4-thomas@monjalon.net> <9b811c9b-5b56-57a7-c939-6e5dbf888447@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH 3/4] devtools: add ppc64 in meson build test X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 15/06/2020 23:43, David Christensen: > On 6/14/20 3:57 PM, Thomas Monjalon wrote: > > diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh > > index 1d80a029aa..1cde17a2e5 100755 > > --- a/devtools/test-meson-builds.sh > > +++ b/devtools/test-meson-builds.sh > > @@ -212,6 +212,11 @@ for f in $srcdir/config/arm/arm64_[bdo]*gcc ; do > > unset CC > > done > > > > +# ppc configurations > > +for f in $srcdir/config/ppc/ppc* ; do > > + build build-$(basename $f | cut -d'-' -f-2) $f $use_shared > > +done > > + > > The entire script file is poorly structured for multi-architecture > builds. The script fails on PPC64LE even before your changes: This script supports only builds from x86 Linux so far. This patch is adding cross-compilation of ppc from x86, and it works fine. > ------------------------------------ > # shared and static linked builds with gcc and clang > for c in gcc clang ; do > command -v $c >/dev/null 2>&1 || continue > for s in static shared ; do > export CC="$CCACHE $c" > build build-$c-$s $c --default-library=$s > unset CC > done > done > ------------------------------------ > > Compilation on clang is not currently supported due to build failures on > Altivec data types for vectorization: > > In file included from ../lib/librte_eal/common/eal_common_options.c:33: > In file included from ../lib/librte_eal/ppc/include/rte_memcpy.h:12: > In file included from ../lib/librte_eal/ppc/include/rte_altivec.h:10: > /usr/lib64/clang/9.0.1/include/altivec.h:55:19: error: unknown type name > 'vector' > static __inline__ vector bool char __ATTRS_o_ai > ^ > /usr/lib64/clang/9.0.1/include/altivec.h:56:10: error: unknown type name > 'vector' > vec_perm(vector bool char __a, vector bool char __b, vector unsigned > char __c); > > and C99 atomics: > > ../lib/librte_eal/ppc/include/rte_atomic.h:85:9: error: implicit > declaration of function '__atomic_exchange_2' is invalid in C99 > [-Werror,-Wimplicit-function-declaration] > return __atomic_exchange_2(dst, val, __ATOMIC_SEQ_CST); > ^ > > The script then immediately launches into an x86 build no matter what > architecture the system is running on: > > ------------------------------------ > default_machine='nehalem' > ok=$(cc -march=$default_machine -E - < /dev/null > /dev/null 2>&1 || > echo false) > if [ "$ok" = "false" ] ; then > default_machine='corei7' > fi > build build-x86-default cc -Dlibdir=lib -Dmachine=$default_machine > $use_shared > ------------------------------------ > > Which also fails on a Power system: > > ninja -v -C ./build-x86-default > ninja: Entering directory `./build-x86-default' > [1/2265] cc -Ilib/76b5a35@@rte_kvargs@sta -Ilib -I../lib -I. -I../ > -Iconfig -I../config -Ilib/librte_eal/include > -I../lib/librte_eal/include -Ilib/librte_eal/linux/include > -I../lib/librte_eal/linux/include -Ilib/librte_eal/ppc/include > -I../lib/librte_eal/ppc/include -Ilib/librte_kvargs > -I../lib/librte_kvargs -fdiagnostics-color=always -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-packed-not-aligned > -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -mcpu=corei7 > -mtune=corei7 -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API > -Wno-format-truncation -MD -MQ > 'lib/76b5a35@@rte_kvargs@sta/librte_kvargs_rte_kvargs.c.o' -MF > 'lib/76b5a35@@rte_kvargs@sta/librte_kvargs_rte_kvargs.c.o.d' -o > 'lib/76b5a35@@rte_kvargs@sta/librte_kvargs_rte_kvargs.c.o' -c > ../lib/librte_kvargs/rte_kvargs.c > FAILED: lib/76b5a35@@rte_kvargs@sta/librte_kvargs_rte_kvargs.c.o > > > I think the logic of looping through supported configs for test builds > is the right one, but more changes are required for multi-architecture > support in this script. For now I'd abandon the PPC/ARM support > entirely in this script. I am adding PPC compilation check to avoid having PPC broken, because after asking for many years to IBM execs, there is still no PPC CI integrated in DPDK patchwork. If you don't think this small step is going in the right direction, then I will stop bothering about PPC support, and we should probably completely drop PPC support I guess.