From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by dpdk.space (Postfix) with ESMTP id E3363A05D3
	for <public@inbox.dpdk.org>; Tue, 21 May 2019 22:27:38 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 4D93B4C8B;
	Tue, 21 May 2019 22:27:37 +0200 (CEST)
Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58])
 by dpdk.org (Postfix) with ESMTP id 0502E4C88;
 Tue, 21 May 2019 22:27:35 +0200 (CEST)
Received: from cpe-2606-a000-111b-405a-0-0-0-162e.dyn6.twc.com
 ([2606:a000:111b:405a::162e] helo=localhost)
 by smtp.tuxdriver.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63)
 (envelope-from <nhorman@tuxdriver.com>)
 id 1hTBMB-0003CL-P1; Tue, 21 May 2019 16:27:34 -0400
Date: Tue, 21 May 2019 16:27:04 -0400
From: Neil Horman <nhorman@tuxdriver.com>
To: jerinj@marvell.com
Cc: dev@dpdk.org, thomas@monjalon.net, stable@dpdk.org
Message-ID: <20190521202704.GA12605@hmswarspite.think-freely.org>
References: <20190521195628.16355-1-jerinj@marvell.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20190521195628.16355-1-jerinj@marvell.com>
User-Agent: Mutt/1.11.3 (2019-02-01)
X-Spam-Score: -2.9 (--)
X-Spam-Status: No
Subject: Re: [dpdk-dev] [PATCH] devtools: skip the symbol check when map
 file under drivers
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

On Wed, May 22, 2019 at 01:26:28AM +0530, jerinj@marvell.com wrote:
> From: Jerin Jacob <jerinj@marvell.com>
> 
> Drivers do not have ABI.
> Skip the symbol check if map file under drivers directory.
> 
> Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
> 
> Cc: stable@dpdk.org
> Cc: Neil Horman <nhorman@tuxdriver.com>
> 
Sorry, but I'm not ok with this, because many of our DPDK PMDs have functions
that get exported which are meant to be called by applications directly.  The
dpaa2 driver is a good example, the cryptodev scheduler is another.  Take a look
at their version.map files to see what I mean.

Unless we are willing to make drivers opaque objects that are only accessible
from the [eth|crypto|etc]dev apis in the DPDK core, we have the potential for
exported symbols, which means we have an ABI that has to be maintained, or at
least recognized and reviewed for consistency

Nacked-by: Neil Horman <nhorman@tuxdriver.com>


> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
>  devtools/check-symbol-change.sh | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
> index c5434f3bb..444beddad 100755
> --- a/devtools/check-symbol-change.sh
> +++ b/devtools/check-symbol-change.sh
> @@ -93,6 +93,14 @@ check_for_rule_violations()
>  		if [ "$ar" = "add" ]
>  		then
>  
> +			directory=`echo $mname | cut -d / -f 2`
> +			if [ "$directory" = "drivers" ]
> +			then
> +				# Drivers do not have ABI. Skip further
> +				# processing if the map file is under
> +				# drivers directory
> +				continue
> +			fi
>  			if [ "$secname" = "unknown" ]
>  			then
>  				# Just inform the user of this occurrence, but
> -- 
> 2.21.0
> 
>