From: Pavan Nikhilesh Date: Tue, 8 May 2018 21:26:00 +0000 (+0530) Subject: event/octeontx: fix build with clang 6 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=55fbc92d7800100628579643c9ee2770614fef10;p=dpdk.git event/octeontx: fix build with clang 6 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 --- diff --git a/drivers/event/octeontx/timvf_evdev.h b/drivers/event/octeontx/timvf_evdev.h index b1b2a8464f..c31e3c0f95 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;