From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 489FEA0093; Tue, 19 May 2020 17:10:42 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 762671D676; Tue, 19 May 2020 17:10:41 +0200 (CEST) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by dpdk.org (Postfix) with ESMTP id A8F6E1D66F for ; Tue, 19 May 2020 17:10:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1589901039; 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: in-reply-to:in-reply-to:references:references; bh=EhTfNzecp1onRgtLex4sMdCdiln32hOMn3AqZ/qPQ/8=; b=FvzAiERdB6RJcTqC9yqXQrphPDhrz1jXW+dUi9/jAYhmb+bBx7CsAXJzJliCjiIQESNNpH TsXSzJfioVOxQdBpKPVDUrfaPlfgq9ErCvqltca9VOpxIteSS0q9cIBqiyDy7WAEnxoan1 htt4ijD2c2zIb5hMjfnp5hLYT4mvcTw= Received: from mail-ua1-f72.google.com (mail-ua1-f72.google.com [209.85.222.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-352-LDREYwe4NG6uUK2SIErw0w-1; Tue, 19 May 2020 11:10:29 -0400 X-MC-Unique: LDREYwe4NG6uUK2SIErw0w-1 Received: by mail-ua1-f72.google.com with SMTP id g28so5126104uaf.15 for ; Tue, 19 May 2020 08:10:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=EhTfNzecp1onRgtLex4sMdCdiln32hOMn3AqZ/qPQ/8=; b=FF17tYPFwMwkhJ7o7bBWQieP5vqypQIAquHlnov3JLI6+shJqslaSjvFYlKS4/eSPP bdbeeaT4SfHDIellXtGEFXJyQ0nm1U+JOQoQXdLxHsUNLyCaP32RBUKY4H7MSk26M5db xZJyGCDQ09MG9et8rH/mP4Xa+2leDME8+tvtkU/Kkf4RZ/XCysYy2ZNiiUS6btda29ri G7AsM7l2x+fMYChTRy/ZrEBxyLNWNrTAfbcmUR5r865QUE6BrBLOV32WCS6Jh9w4bNw+ mvV0aeX4aK7ootf7a42HQADAstHSwNgw11FSnDJXeRVzUVtFiiyyE5eEVeHU3dbDoBuX /eRA== X-Gm-Message-State: AOAM531iJscMffwcV2QzR6zteBRGs2sVEM0HGPZvDRB6UEzBpfcEXasM aJl3w9xrNmsgQLVYdkfr2Nod5VJKZlxDPMYbHB0MlB7inVc1YeUHB3HWbiq01TiRm4sK+4A2bxP M1+3sT7JCSgmQYwSHy7c= X-Received: by 2002:ab0:36d9:: with SMTP id v25mr14849778uau.126.1589901028711; Tue, 19 May 2020 08:10:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxRHb2+UsKp4UW7Htl5anmyAXX37wBgq82IXiwgojvSqcO9jk+MP9Gt4Bf589/klqdnTjHpWUWiaWeDfY52FsQ= X-Received: by 2002:ab0:36d9:: with SMTP id v25mr14849725uau.126.1589901028268; Tue, 19 May 2020 08:10:28 -0700 (PDT) MIME-Version: 1.0 References: <20200430054606.92715-1-haiyue.wang@intel.com> <20200430054606.92715-2-haiyue.wang@intel.com> In-Reply-To: <20200430054606.92715-2-haiyue.wang@intel.com> From: David Marchand Date: Tue, 19 May 2020 17:10:17 +0200 Message-ID: To: Haiyue Wang , Ray Kinsella Cc: dev , Thomas Monjalon , Bruce Richardson , "Burakov, Anatoly" , Neil Horman X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v1 2/2] devtools: updating internal symbols ABI version 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Apr 30, 2020 at 7:54 AM Haiyue Wang wrote: > > INTERNAL is new introduced version, update the script that automatically > leaving internal section exactly as it is. > > Signed-off-by: Haiyue Wang > --- > devtools/update_version_map_abi.py | 37 +++++++++++++++++++++++++++--- > 1 file changed, 34 insertions(+), 3 deletions(-) > > diff --git a/devtools/update_version_map_abi.py b/devtools/update_version_map_abi.py > index 616412a1c..e2104e61e 100755 > --- a/devtools/update_version_map_abi.py > +++ b/devtools/update_version_map_abi.py > @@ -50,7 +50,10 @@ def __parse_map_file(f_in): > stable_lines = set() > # copy experimental section as is > experimental_lines = [] > + # copy internal section as is > + internal_lines = [] > in_experimental = False > + in_internal = False > has_stable = False > > # gather all functions > @@ -63,6 +66,7 @@ def __parse_map_file(f_in): > if match: > # whatever section this was, it's not active any more > in_experimental = False > + in_internal = False > continue > > # if we're in the middle of experimental section, we need to copy > @@ -71,6 +75,12 @@ def __parse_map_file(f_in): > experimental_lines += [line] > continue > > + # if we're in the middle of internal section, we need to copy > + # the section verbatim, so just add the line > + if in_internal: > + internal_lines += [line] > + continue > + > # skip empty lines > if not line: > continue > @@ -81,7 +91,9 @@ def __parse_map_file(f_in): > cur_section = match.group("version") > # is it experimental? > in_experimental = cur_section == "EXPERIMENTAL" > - if not in_experimental: > + # is it internal? > + in_internal = cur_section == "INTERNAL" > + if not in_experimental and not in_internal: > has_stable = True > continue > > @@ -90,7 +102,7 @@ def __parse_map_file(f_in): > if match: > stable_lines.add(match.group("func")) > > - return has_stable, stable_lines, experimental_lines > + return has_stable, stable_lines, experimental_lines, internal_lines > > > def __generate_stable_abi(f_out, abi_version, lines): > @@ -132,6 +144,20 @@ def __generate_experimental_abi(f_out, lines): > # end section > print("};", file=f_out) > > +def __generate_internal_abi(f_out, lines): > + # start internal section > + print("INTERNAL {", file=f_out) > + > + # print all internal lines as they were > + for line in lines: > + # don't print empty whitespace > + if not line: > + print("", file=f_out) > + else: > + print("\t{}".format(line), file=f_out) > + > + # end section > + print("};", file=f_out) > > def __main(): > arg_parser = argparse.ArgumentParser( > @@ -158,7 +184,7 @@ def __main(): > sys.exit(1) > > with open(parsed.map_file) as f_in: > - has_stable, stable_lines, experimental_lines = __parse_map_file(f_in) > + has_stable, stable_lines, experimental_lines, internal_lines = __parse_map_file(f_in) > > with open(parsed.map_file, 'w') as f_out: > need_newline = has_stable and experimental_lines > @@ -169,6 +195,11 @@ def __main(): > print(file=f_out) > if experimental_lines: > __generate_experimental_abi(f_out, experimental_lines) > + if internal_lines: > + if has_stable or experimental_lines: > + # separate sections with a newline > + print(file=f_out) > + __generate_internal_abi(f_out, internal_lines) > > > if __name__ == "__main__": > -- > 2.26.2 > LGTM. Acked-by: David Marchand One comment, trying to update to ABI 21, the script refuses and expects a 21.X format: $ ./devtools/update-abi.sh 21 ABI version must be formatted as MAJOR.MINOR version And passing 21.0 then generates DPDK_21.0 blocks which I understand are incorrect. $ git diff drivers/common/iavf/rte_common_iavf_version.map diff --git a/drivers/common/iavf/rte_common_iavf_version.map b/drivers/common/iavf/rte_common_iavf_version.map index 92ceac108d..9a1ef076aa 100644 --- a/drivers/common/iavf/rte_common_iavf_version.map +++ b/drivers/common/iavf/rte_common_iavf_version.map @@ -1,11 +1,11 @@ -DPDK_21 { +DPDK_21.0 { global: -- David Marchand