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 3622AA00BE; Wed, 30 Oct 2019 15:24:08 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B24A61BFF3; Wed, 30 Oct 2019 15:24:07 +0100 (CET) Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by dpdk.org (Postfix) with ESMTP id E37751BFC7 for ; Wed, 30 Oct 2019 15:24:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1572445446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ikqk4y76OkUS4bGqNrKLcl9gCgQ+mOPJdT4MAafWsFQ=; b=OhON5V4jPVl2AGFrI0TzjSp3mRhGO5ovjLPTwJnXpVAfH0RRkHn8C57pzOptWc6rytFoBV QV0UZx65MGd6Si6HDS+t8dfWVzLIEKq/GTO9ThkYM434hgvdysBSmmQctKaheBvydRAAGh stBE3hqwWRVCBKeOb3YUM1qKMBXTVzA= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-411-zRpNTb1aN52M25jq5bJfYA-1; Wed, 30 Oct 2019 10:24:01 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 80850800C61; Wed, 30 Oct 2019 14:24:00 +0000 (UTC) Received: from dhcp-25.97.bos.redhat.com (unknown [10.18.25.8]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0B1C95C1B0; Wed, 30 Oct 2019 14:23:59 +0000 (UTC) From: Aaron Conole To: Andrzej Ostruszka Cc: dev@dpdk.org, Michael Santana References: <20191028142145.3758-1-aostruszka@marvell.com> <20191029141212.4907-1-aostruszka@marvell.com> <68298f82-1657-d798-5b3f-c2cab6687ad9@semihalf.com> Date: Wed, 30 Oct 2019 10:23:59 -0400 In-Reply-To: <68298f82-1657-d798-5b3f-c2cab6687ad9@semihalf.com> (Andrzej Ostruszka's message of "Wed, 30 Oct 2019 10:09:46 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-MC-Unique: zRpNTb1aN52M25jq5bJfYA-1 X-Mimecast-Spam-Score: 0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [dpdk-dev] [PATCH v6 00/12] Add an option to use LTO for DPDK build 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" Andrzej Ostruszka writes: > On 10/29/19 3:12 PM, Andrzej Ostruszka wrote: >> This patch series adds an option to make use of link time optimization >> (if compiler has support for it). > [...] >> .travis.yml | 7 ++++ > [...] > > Aaron, Michael, all > > I'd probably need some assistance with Travis. This patchset added > following changes: > > diff --git a/.travis.yml b/.travis.yml > index 3d6ef2959..3cd746dba 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -34,6 +34,7 @@ env: > - DEF_LIB=3D"static" OPTS=3D"-Denable_kmods=3Dfalse" > - DEF_LIB=3D"shared" OPTS=3D"-Denable_kmods=3Dfalse" > - DEF_LIB=3D"shared" RUN_TESTS=3D1 > + - DEF_LIB=3D"shared" OPTS=3D"-Db_lto=3Dtrue" > > matrix: > include: > @@ -105,6 +106,12 @@ matrix: > apt: > packages: > - *extra_packages > + - env: DEF_LIB=3D"shared" OPTS=3D"-Db_lto=3Dtrue" EXTRA_PACKAGES=3D1 > + compiler: gcc > + addons: > + apt: > + packages: > + - *extra_packages > > > however I have to admit I'm not familiar with Travis and the actual > meaning of that configuration (that is it's actual mapping to builds). > I'm getting following CI errors: > > 1. https://travis-ci.com/ovsrobot/dpdk/jobs/250599578 > > This is with clang - this patchset should not be run with clang as it is > not supported. In build "matrix" there is 'gcc' specified but somehow > clang build is attempted. Please advice me how to change this > .travis.yml to stop that - should I remove entry in "env"? Yes, do not use the non-matrix defines. IE: drop the hunk '@@ -34,6 +34,7 @@ env:' The other hunk '@@ -105,6 +106,12 @@ matrix:' is sufficient. You might want a secondary copy that includes AARCH64=3D1 if fat LTO is supported under ARM64 (assuming there's a benefit to doing this build). > 2. https://travis-ci.com/ovsrobot/dpdk/jobs/250599577 > https://travis-ci.com/ovsrobot/dpdk/jobs/250599591 > > This is with gcc and meson with shared library and I can't reproduce > this. The are two problems reported, first a compiler warning which > seems to be not connected at all with the changes: These jobs are running on ubuntu xenial, using gcc 5.4.0 compiler. Are you sure that you've passed all of the requisite linker flags for this version of gcc? Alternatively, you can make a package list that will include a version of the compiler you expect to support. But that should also be reflected in the documentation. I didn't see any compiler restrictions documented. > --8<------------------------ > /usr/include/x86_64-linux-gnu/bits/unistd.h:39:9: warning: call to > =E2=80=98__read_chk_warn=E2=80=99 declared with attribute warning: read c= alled with > bigger length than size of the destination buffer > return __read_chk (__fd, __buf, __nbytes, __bos0 (__buf)); > ^ > In function =E2=80=98__read_alias=E2=80=99, > inlined from =E2=80=98eal_intr_process_interrupts=E2=80=99 at > ../lib/librte_eal/linux/eal/eal_interrupts.c:911:17, > inlined from =E2=80=98eal_intr_handle_interrupts=E2=80=99 at > ../lib/librte_eal/linux/eal/eal_interrupts.c:1030:7, > inlined from =E2=80=98eal_intr_thread_main=E2=80=99 at > ../lib/librte_eal/linux/eal/eal_interrupts.c:1100:3: > --8<------------------------ > > and a second linker error: > > --8<------------------------ > FAILED: gcc -o lib/librte_lpm.so.2.1 > 'lib/76b5a35@@rte_lpm@sha/librte_lpm_rte_lpm.c.o' > 'lib/76b5a35@@rte_lpm@sha/librte_lpm_rte_lpm6.c.o' -flto -Wl,--as-needed > -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group > -Wl,-soname,librte_lpm.so.2 -Wl,--no-as-needed -pthread -lm -ldl -lnuma > -Wno-lto-type-mismatch lib/librte_eal.so.12.1 lib/librte_kvargs.so.1.1 > lib/librte_hash.so.2.1 lib/librte_ring.so.2.1 > -Wl,--version-script=3D/home/travis/build/ovsrobot/dpdk/lib/librte_lpm/rt= e_lpm_version.map > /usr/lib/x86_64-linux-gnu/libbsd.so -Wl,--end-group > '-Wl,-rpath,$ORIGIN/' > -Wl,-rpath-link,/home/travis/build/ovsrobot/dpdk/build/lib > /tmp/ccZPEQKf.ltrans3.ltrans.o: In function `rte_lpm6_delete_bulk_func': > :(.text+0xf01): undefined reference to `rte_lpm6_add' > --8<------------------------ > > As I've said I can't reproduce none of these problems - are they some CI > issues? Can you try to reproduce this with a stock xenial image? If I get the chance, I will do the same. > I'd appreciate some help with these. > > Regards > Andrzej