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 776FD43C4B; Tue, 5 Mar 2024 16:02:37 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 07E8A4026B; Tue, 5 Mar 2024 16:02:37 +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 8EDB24014F for ; Tue, 5 Mar 2024 16:02:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1709650953; 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=w4OEhD74hEemBsFoc0surUV00Dr8QoWolMbZ0dxheDA=; b=UiQWT7NBLuiYvkL56+g9kRPPYnIb2kRkNvxEyU+YpsUVyDJDlgs2gf8CzJpiZV2VMVSX1N kXeOIUxyqh0aCcsNy27DS98gM+uSsX2LTLhLOlca2hZxWlOb8JQOwbLo2RDc+n9zHxGnDZ 6xWm5KbDVaHM8Cp4oGjbcwVDtnhwP00= Received: from mail-lf1-f69.google.com (mail-lf1-f69.google.com [209.85.167.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-550-kRZ5twQlPEutl-yC2C64og-1; Tue, 05 Mar 2024 10:02:32 -0500 X-MC-Unique: kRZ5twQlPEutl-yC2C64og-1 Received: by mail-lf1-f69.google.com with SMTP id 2adb3069b0e04-51345bb1c89so2722916e87.1 for ; Tue, 05 Mar 2024 07:02:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709650951; x=1710255751; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=w4OEhD74hEemBsFoc0surUV00Dr8QoWolMbZ0dxheDA=; b=Gfpf70MI9EhOxJ9gm49CRDohjJUvOV5k5h8etd3Q54thznRAA1IHweg1tB1+ZH3A/+ E8GNJYN1rldRF/7wGJRKepEmX4O5+4Xp1FGrwJPzJR06rjm5ZDQIb1e3gVNWm/8vIPeT TMVxafWXO1nEg5gCp6yEN0x3qe5yy/q0pK/+ZsbPcrv/ozl7Knl2pgDlkh5FAP2ra3WN CGZkhAenr19uGHi2lD9ZscIxV/nxYqXV8ojhgi9IL40hVdnZmmqXvqHDpi07gM2DpCMO Rfc1fJqgU6wI84KzrqcnvX1aG692mXHrp02QV/GcczYmepcmfVm41sifZHucqTdNpPwm xWaA== X-Gm-Message-State: AOJu0YxmI2/xB5UKFc2FHnJw4m+m5bGGjdW4hGRZiwHuWIVkeX4nHQpi CelfqDJZoJJJuSURfuDZUAld4UnQL2TYZYBrdAqP1dIPl08yUVEqdTD850ekGvBvjoGheJ5cZGJ U2UrpWrXtzijCyiSb3miMiPVPNw3iprn44B9obmruIwi/O1DjIlgbjBoQ0STCR6m+tOFN6Pr1YF OuyonPIckwZ/B/loY= X-Received: by 2002:a05:6512:2110:b0:513:5971:10c9 with SMTP id q16-20020a056512211000b00513597110c9mr231634lfr.56.1709650950786; Tue, 05 Mar 2024 07:02:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IH2daxJz0vRVhXAq826KkUoHbaiGe6mDV2zvYbrXD6Z2kzE0c4UFL+du5QdLpTkNUlfw89QUunPGehUf9Pl+yU= X-Received: by 2002:a05:6512:2110:b0:513:5971:10c9 with SMTP id q16-20020a056512211000b00513597110c9mr231615lfr.56.1709650950415; Tue, 05 Mar 2024 07:02:30 -0800 (PST) MIME-Version: 1.0 References: <20240305103640.3051399-1-david.marchand@redhat.com> In-Reply-To: From: David Marchand Date: Tue, 5 Mar 2024 16:02:18 +0100 Message-ID: Subject: Re: [PATCH] argparse: add version in symbols map To: fengchengwen Cc: dev@dpdk.org, Bruce Richardson , Thomas Monjalon X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 On Tue, Mar 5, 2024 at 1:14=E2=80=AFPM David Marchand wrote: > > On Tue, Mar 5, 2024 at 12:35=E2=80=AFPM fengchengwen wrote: > > > > Acked-by: Chengwen Feng > > > > BTW: which tool detects this problem? > > I found out about those issues while manually inspecting the changes > on **/version.map since v23.11. > > At the moment, there is no tool enforcing that experimental symbols > must be in a block with a version comment. > > Adding a check could be done: > > $ git diff > diff --git a/buildtools/map-list-symbol.sh b/buildtools/map-list-symbol.s= h > index a834399816..b76e2417c5 100755 > --- a/buildtools/map-list-symbol.sh > +++ b/buildtools/map-list-symbol.sh > @@ -61,8 +61,12 @@ for file in $@; do > if (current_section =3D=3D "") { > next; > } > - if ("'$version'" !=3D "" && "'$version'" !=3D current_ver= sion) { > - next; > + if ("'$version'" !=3D "") { > + if ("'$version'" =3D=3D "unset" && current_versio= n !=3D "") { > + next; > + } else if ("'$version'" !=3D "unset" && > "'$version'" !=3D current_version) { > + next; > + } > } > gsub(";",""); > if ("'$symbol'" =3D=3D "all" || $1 =3D=3D "'$symbol'") { > > > And it catches more issues: > $ find lib -name 'version.map' -exec ./buildtools/map-list-symbol.sh > -S EXPERIMENTAL -V unset {} \; > lib/metrics/version.map EXPERIMENTAL rte_metrics_tel_encode_json_format > lib/metrics/version.map EXPERIMENTAL rte_metrics_tel_reg_all_ethdev > lib/metrics/version.map EXPERIMENTAL rte_metrics_tel_get_global_stats > lib/metrics/version.map EXPERIMENTAL rte_metrics_tel_get_port_stats_ids > lib/metrics/version.map EXPERIMENTAL rte_metrics_tel_get_ports_stats_json > lib/metrics/version.map EXPERIMENTAL rte_metrics_tel_extract_data > lib/regexdev/version.map EXPERIMENTAL rte_regex_devices > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_attr_get > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_attr_set > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_close > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_configure > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_count > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_dequeue_burst > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_dump > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_enqueue_burst > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_get_dev_id > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_info_get > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_is_valid_dev > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_logtype > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_queue_pair_setup > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_rule_db_compile_activa= te > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_rule_db_export > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_rule_db_import > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_rule_db_update > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_selftest > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_start > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_stop > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_xstats_by_name_get > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_xstats_get > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_xstats_names_get > lib/regexdev/version.map EXPERIMENTAL rte_regexdev_xstats_reset > lib/reorder/version.map EXPERIMENTAL rte_reorder_seqn_dynfield_offset > lib/mldev/version.map EXPERIMENTAL rte_ml_dequeue_burst > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_close > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_configure > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_count > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_dump > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_info_get > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_init > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_is_valid_dev > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_logtype > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_queue_pair_setup > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_selftest > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_socket_id > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_start > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_stats_get > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_stats_reset > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_stop > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_xstats_by_name_get > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_xstats_get > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_xstats_names_get > lib/mldev/version.map EXPERIMENTAL rte_ml_dev_xstats_reset > lib/mldev/version.map EXPERIMENTAL rte_ml_enqueue_burst > lib/mldev/version.map EXPERIMENTAL rte_ml_io_dequantize > lib/mldev/version.map EXPERIMENTAL rte_ml_io_quantize > lib/mldev/version.map EXPERIMENTAL rte_ml_model_info_get > lib/mldev/version.map EXPERIMENTAL rte_ml_model_load > lib/mldev/version.map EXPERIMENTAL rte_ml_model_params_update > lib/mldev/version.map EXPERIMENTAL rte_ml_model_start > lib/mldev/version.map EXPERIMENTAL rte_ml_model_stop > lib/mldev/version.map EXPERIMENTAL rte_ml_model_unload > lib/mldev/version.map EXPERIMENTAL rte_ml_op_error_get > lib/mldev/version.map EXPERIMENTAL rte_ml_op_pool_create > lib/mldev/version.map EXPERIMENTAL rte_ml_op_pool_free > lib/argparse/version.map EXPERIMENTAL rte_argparse_parse > lib/argparse/version.map EXPERIMENTAL rte_argparse_parse_type > I sent a respin, fixing all existing issues. If the respin has no objection, I will discard this current patch. --=20 David Marchand