From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by dpdk.org (Postfix) with ESMTP id 5D9251DA4 for ; Tue, 24 Jul 2018 18:04:04 +0200 (CEST) Received: by mail-wm0-f65.google.com with SMTP id o11-v6so3066240wmh.2 for ; Tue, 24 Jul 2018 09:04:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=e4GRIzwZ+IEnzQigtic/mn5g612u4pJv142wSgkz2yM=; b=mghk1bvCDFaSEZixgrznEqhKMehUEr5CVSmu6OJ739fTK0ozh+iwnd1rJ74rLWzU+j lmmrnurr6pdP7BIAOA44KpbTl/cLqD1K+PoPbigPMTqHZqOlp87JKHEiqy4Ib8Ljp3gh e7pE/v36rxchb7UkLcEvsot3ucjgAJ+3ZuVw6CvAReaVKo8bDW94IrKFIO1t3nlghqH9 Hp5HYgMQOw4nJk7lxymxNkF47e7sQl2Qh0w97ufqTaoj8er/GRYK+DOZWmaRNYB3sOiG lHVIdFWPLrvQL6H9HjpYttMH30qjkaPPw2nqUEj7Ogt0uQ9L2CM/KyPqxBWa5uD2L7Lh Gj5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=e4GRIzwZ+IEnzQigtic/mn5g612u4pJv142wSgkz2yM=; b=QHcIygqSoJB+1xK3BUV9DoxVLpYwX5cBB/8dvl8NVNaA1XXKIXGgSEgK0sfEnz9EB0 KdizJGZvOAjW8Rh2Pif5uAGYhnm8qeAreQlmtY1u7lF7AYIP8Sn2qfzSJitaD+B8JlVt ZVtdU849f2Qog4D0Kh9MI+YoWBPOfqovfauRJnrgs6HiL/iHXIPM/9jhPFzuC1/0G7mp z9aSy5zKLMbe0JTseWsqEm73nt2fRjWH2nAceF2z/NlacRAe2aspgGb6su5cx1EWafez ReU9DseMFvWbUkofQgccY796awdRgltcnklK4sOi6L6Hl33O/4jaFqDS7pGaTzIMPFLw gAOg== X-Gm-Message-State: AOUpUlEFGqzVBRIdWQJJuBTLLCKfxpZHr7CCYj0yd24+zwxHmFlcsKAq La1eTd0fFwtENhNcOffr4Hf71g== X-Google-Smtp-Source: AAOMgpec25yp+hXb16NvW0LgzEUni62kUG9M+bGV67HPkXpSeChPiYUe8T9vV2HFdMXpsg0AMLMqhA== X-Received: by 2002:a1c:dac6:: with SMTP id r189-v6mr2374439wmg.150.1532448244084; Tue, 24 Jul 2018 09:04:04 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id 5-v6sm3048589wmv.48.2018.07.24.09.04.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Jul 2018 09:04:03 -0700 (PDT) Date: Tue, 24 Jul 2018 18:03:46 +0200 From: Adrien Mazarguil To: "Yaroslav Brustinov (ybrustin)" Cc: Shahaf Shuler , Yongseok Koh , "dev@dpdk.org" , "stable@dpdk.org" , =?utf-8?B?TsOpbGlv?= Laranjeiro Message-ID: <20180724160346.GU5211@6wind.com> References: <20180724085445.52206-1-shahafs@mellanox.com> <20180724120048.GQ5211@6wind.com> <20180724120551.GR5211@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Subject: Re: [dpdk-dev] [PATCH] net/mlx5: fix linkage error for glue lib 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: , X-List-Received-Date: Tue, 24 Jul 2018 16:04:04 -0000 On Tue, Jul 24, 2018 at 02:24:12PM +0000, Yaroslav Brustinov (ybrustin) wrote: > Hi, > > Are you OK with C11? > I saw in file dpdk/drivers/net/mlx4/mlx4_utils.c: > > * C11 code would include stdalign.h and use alignof(max_align_t) however > * we'll stick with C99 for the time being. > > :) Hah, this code was originally intended to become a generic EAL function hence the C99 but got rejected. Mellanox PMDs otherwise rely on C11 features already. > As far as I understand, the issue is alignment of the pointer itself, not the struct. > I'm not familiar with this command: "alignof(max_align_t)". > Applying this on the struct: > > struct mlx5_glue { > ... > } __attribute__((__aligned__(64))); > > struct __attribute__((__aligned__(64))) mlx5_glue { > ... > }; > > ...still keeps the linker unhappy. Right, this was my first (wrong) suggestion that doesn't work on types. How about the second one instead? Here's how the diff on mlx5_glue.h should look like: +#include #include #include [...] +alignas(max_align_t) const struct mlx5_glue *mlx5_glue; Another comment regarding this patch, commit log should probably mention it addresses a GCC bug that cannot be reproduced with latter versions. Keep in mind DPDK recommends to use at least GCC version 4.9. > -----Original Message----- > From: Shahaf Shuler [mailto:shahafs@mellanox.com] > Sent: Tuesday, July 24, 2018 16:51 > To: Adrien Mazarguil > Cc: Yongseok Koh ; dev@dpdk.org; Yaroslav Brustinov (ybrustin) ; stable@dpdk.org; NĂ©lio Laranjeiro > Subject: RE: [PATCH] net/mlx5: fix linkage error for glue lib > > Yaroslav, > > Tuesday, July 24, 2018 3:06 PM, Adrien Mazarguil: > > Subject: Re: [PATCH] net/mlx5: fix linkage error for glue lib > > > Odd, how could this happen assuming both files are compiled during > > > the same run using identical flags? Looks like a compiler issue. > > > > > > Anyway, may I suggest an alignment constraint on the structure type > > > in mlx5_glue.h instead, so that all users inherit it. E.g. using C11 syntax: > > > > > > #include > > > #include > > > > > > [...] > > > alignas(max_align_t) > > > struct mlx5_glue { > > > [...] > > > }; > > > > My bad, this is not a correct use for alignas(), it doesn't work on types. > > How about this instead: > > > > alignas(max_align_t) > > const struct mlx5_glue *mlx5_glue; > > Can you confirm the above suggestion fixes your issue? > > > > > > -- Adrien Mazarguil 6WIND