From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: [PATCH] event/octeontx: fix clang 6 linker error Date: Wed, 9 May 2018 07:23:08 +0530 Message-ID: <20180509015306.GA27146@jerin> References: <20180508212600.26954-1-pbhagavatula@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: santosh.shukla@caviumnetworks.com, arybchenko@solarflare.com, dev@dpdk.org To: Pavan Nikhilesh Return-path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0078.outbound.protection.outlook.com [104.47.33.78]) by dpdk.org (Postfix) with ESMTP id 7CB8C7EF0 for ; Wed, 9 May 2018 03:53:20 +0200 (CEST) Content-Disposition: inline In-Reply-To: <20180508212600.26954-1-pbhagavatula@caviumnetworks.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" -----Original Message----- > Date: Wed, 9 May 2018 02:56:00 +0530 > From: Pavan Nikhilesh > To: jerin.jacob@caviumnetworks.com, santosh.shukla@caviumnetworks.com, > arybchenko@solarflare.com > Cc: dev@dpdk.org, Pavan Nikhilesh > Subject: [dpdk-dev] [PATCH] event/octeontx: fix clang 6 linker error > X-Mailer: git-send-email 2.17.0 > > Clang 6 & 7 fail to naturally align packed structs due to this clang > can't use 8byte atomic primitives and splits them into lesser atomic > primitives. To use lesser atomic primitives we need to link libatomic > (-latomic), instead supply alignment attribute to the compiler. > > timvf_worker.c:(.text+0x498): undefined reference to `__atomic_fetch_add_8' > timvf_worker.c:(.text+0x525): undefined reference to `__atomic_store_2' > timvf_worker.c:(.text+0x557): undefined reference to `__atomic_fetch_add_4' > timvf_worker.c:(.text+0x5de): undefined reference to `__atomic_store_2' > > Fixes: f874c1eb1519 ("event/octeontx: create and free timer adapter") > Reported-by: Andrew Rybchenko > Signed-off-by: Pavan Nikhilesh Acked-by: Jerin Jacob > --- > drivers/event/octeontx/timvf_evdev.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/event/octeontx/timvf_evdev.h b/drivers/event/octeontx/timvf_evdev.h > index b1b2a8464..1cac1e612 100644 > --- a/drivers/event/octeontx/timvf_evdev.h > +++ b/drivers/event/octeontx/timvf_evdev.h > @@ -145,7 +145,7 @@ struct tim_mem_bucket { > }; > uint64_t current_chunk; > uint64_t pad; > -} __rte_packed; > +} __rte_packed __rte_aligned(8); > > struct tim_mem_entry { > uint64_t w0; > -- > 2.17.0 >