From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9F0DBA0093; Wed, 9 Mar 2022 11:58:23 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 74C0F40687; Wed, 9 Mar 2022 11:58:23 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 77DF540150 for ; Wed, 9 Mar 2022 11:58:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1646823501; 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=b7ZsSk+zeaPMa9/EsyAMTKXNyPXpplQ3w7y9Rl00mm8=; b=ZIZ1Ih4fIjWB6W9ftvK4vCsLKKRxpNJ5XBjdkaQ9B+m3mnIp5TdRye1BteOKm2JXzB4aHD wH3LjM76SXMIS/dE6C/B2LWm+IT+JnTQrJteiyRiUm8qRgYXSGC4HWvnIw+fkpELRlGl8v G3sR+JVBLZmevJi66ldtRyWCahIpCdk= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-580-YIH-hvHzNiGMaSM5rF-mvg-1; Wed, 09 Mar 2022 05:58:19 -0500 X-MC-Unique: YIH-hvHzNiGMaSM5rF-mvg-1 Received: by mail-wr1-f71.google.com with SMTP id a16-20020adff7d0000000b001f0473a6b25so635534wrq.1 for ; Wed, 09 Mar 2022 02:58:19 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent :content-language:to:cc:references:from:subject:in-reply-to :content-transfer-encoding; bh=b7ZsSk+zeaPMa9/EsyAMTKXNyPXpplQ3w7y9Rl00mm8=; b=lu9i8gu5tV3PmZQ2HV/fcVcQIAVdRLWuKVK8tP2OxO5jOx3lftsBWYNcO6kLrpyIuV SHCwXWmUA9hfKAK2wSqgoKROgx98oCvXGKnPB21sw7mEzl+KQN29DuqZajLxJzWiEuqP s+sDKTfO1c28JYCI6OElOgXkPIe3RA+e8+RKtPtm3n5QaKZ4DmuSCYfd8pTo67ngkKO7 cbQZ4uRLAt8vnS2tLHXBYtXtfOS/x5BLNz2KAYbHyGPncDyYwcgXHYF4XiGGjq60V9AL Pyj1iPvlRNL9p6RJ62pPFTUHFDYpcqddb3KpDfs88yt/yCdwQuchWOxnyOMGaBjXFyUJ ePlQ== X-Gm-Message-State: AOAM531QbHeeMysff+L+5v48kpfdeIC9EX9QrTqzM0/Q7d5+X4Py9+rj e77C+uOTfE/ri4ko2BSyOvaY/zcKPUdCz1T3C8WYvhUf3clS2MYPDfrpK7K7SHhKvCcxiJlxjeX uCiY= X-Received: by 2002:a05:6000:184a:b0:203:72d0:2cc0 with SMTP id c10-20020a056000184a00b0020372d02cc0mr4501159wri.126.1646823498544; Wed, 09 Mar 2022 02:58:18 -0800 (PST) X-Google-Smtp-Source: ABdhPJzjqauE0IJNduyLCSpSNVpu0H/ul6Rzpe/aOGecxoUOpGDIFz/4bjSStBcQh1QISeGhiFAZmA== X-Received: by 2002:a05:6000:184a:b0:203:72d0:2cc0 with SMTP id c10-20020a056000184a00b0020372d02cc0mr4501058wri.126.1646823496574; Wed, 09 Mar 2022 02:58:16 -0800 (PST) Received: from [192.168.0.36] ([78.16.131.8]) by smtp.gmail.com with ESMTPSA id x14-20020adfffce000000b001f1dfee4867sm1888414wrs.99.2022.03.09.02.58.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 09 Mar 2022 02:58:16 -0800 (PST) Message-ID: <0e4927c4-53ae-23a6-1fb5-fa5bd8a35d83@redhat.com> Date: Wed, 9 Mar 2022 10:58:14 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 To: Thomas Monjalon , dev@dpdk.org Cc: david.marchand@redhat.com, stable@dpdk.org, Ray Kinsella , Parav Pandit , Xueming Li , Elena Agostini , Ori Kam , Andrew Rybchenko , Michael Baum References: <20220306092023.2461466-1-thomas@monjalon.net> <20220308142412.2069408-1-thomas@monjalon.net> <20220308142412.2069408-3-thomas@monjalon.net> From: Kevin Traynor Subject: Re: [PATCH v2 2/2] build: hide local symbols in shared libraries In-Reply-To: <20220308142412.2069408-3-thomas@monjalon.net> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Hi Thomas, On 08/03/2022 14:24, Thomas Monjalon wrote: > The symbols which are not listed in the version script > are exported by default. > Adding a local section with a wildcard make non-listed functions > and variables as hidden, as it should be in all version.map files. > > These are the changes done in the shared libraries: > - DF .text Base auxiliary_add_device > - DF .text Base auxiliary_dev_exists > - DF .text Base auxiliary_dev_iterate > - DF .text Base auxiliary_insert_device > - DF .text Base auxiliary_is_ignored_device > - DF .text Base auxiliary_match > - DF .text Base auxiliary_on_scan > - DF .text Base auxiliary_scan > - DO .bss Base auxiliary_bus_logtype > - DO .data Base auxiliary_bus > - DO .bss Base gpu_logtype > > There is no impact on regexdev library. > > Because these local symbols were exported as non-internal > in DPDK 21.11, any change in these functions would break the ABI. > Exception rules are added for these experimental libraries, > so the ABI check will skip them until the next ABI version. > > A check is added to avoid such miss in future. > > Fixes: 1afce3086cf4 ("bus/auxiliary: introduce auxiliary bus") > Fixes: 8b8036a66e3d ("gpudev: introduce GPU device class library") > Cc: stable@dpdk.org > If I take this 2/2 for 21.11.1, then I also need to backport [0] so I won't have errors for common_mlx5. Any problem with taking both? [0] commit c2e3059a10f2389b791d5d485fe71e666984c193 Author: Michael Baum Date: Fri Feb 25 01:25:06 2022 +0200 common/mlx5: consider local functions as internal > Signed-off-by: Thomas Monjalon > --- > devtools/check-symbol-maps.sh | 7 +++++++ > devtools/libabigail.abignore | 8 ++++++++ > drivers/bus/auxiliary/version.map | 2 ++ > lib/gpudev/version.map | 2 ++ > lib/regexdev/version.map | 2 ++ > 5 files changed, 21 insertions(+) > > diff --git a/devtools/check-symbol-maps.sh b/devtools/check-symbol-maps.sh > index 5bd290ac97..8266fdf9ea 100755 > --- a/devtools/check-symbol-maps.sh > +++ b/devtools/check-symbol-maps.sh > @@ -53,4 +53,11 @@ if [ -n "$duplicate_symbols" ] ; then > ret=1 > fi > > +local_miss_maps=$(grep -L 'local: \*;' $@) > +if [ -n "$local_miss_maps" ] ; then > + echo "Found maps without local catch-all:" > + echo "$local_miss_maps" > + ret=1 > +fi > + > exit $ret > diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore > index 18c11c80c6..c618f20032 100644 > --- a/devtools/libabigail.abignore > +++ b/devtools/libabigail.abignore > @@ -32,3 +32,11 @@ > ; Ignore changes in common mlx5 driver, should be all internal > [suppress_file] > soname_regexp = ^librte_common_mlx5\. > + > +; Ignore visibility fix of local functions in experimental auxiliary driver > +[suppress_file] > + soname_regexp = ^librte_bus_auxiliary\. > + > +; Ignore visibility fix of local functions in experimental gpudev library > +[suppress_file] > + soname_regexp = ^librte_gpudev\. > diff --git a/drivers/bus/auxiliary/version.map b/drivers/bus/auxiliary/version.map > index a52260657c..dc993e84ff 100644 > --- a/drivers/bus/auxiliary/version.map > +++ b/drivers/bus/auxiliary/version.map > @@ -4,4 +4,6 @@ EXPERIMENTAL { > # added in 21.08 > rte_auxiliary_register; > rte_auxiliary_unregister; > + > + local: *; > }; > diff --git a/lib/gpudev/version.map b/lib/gpudev/version.map > index b23e3fd6eb..a2c8ce5759 100644 > --- a/lib/gpudev/version.map > +++ b/lib/gpudev/version.map > @@ -39,4 +39,6 @@ INTERNAL { > rte_gpu_get_by_name; > rte_gpu_notify; > rte_gpu_release; > + > + local: *; > }; > diff --git a/lib/regexdev/version.map b/lib/regexdev/version.map > index 988b909638..3c6e9fffa1 100644 > --- a/lib/regexdev/version.map > +++ b/lib/regexdev/version.map > @@ -26,6 +26,8 @@ EXPERIMENTAL { > rte_regexdev_xstats_get; > rte_regexdev_xstats_names_get; > rte_regexdev_xstats_reset; > + > + local: *; > }; > > INTERNAL {