From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4DADDA0524; Fri, 8 Jan 2021 03:47:36 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C07CF140DC9; Fri, 8 Jan 2021 03:47:35 +0100 (CET) Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) by mails.dpdk.org (Postfix) with ESMTP id 96F90140DB4 for ; Fri, 8 Jan 2021 03:47:34 +0100 (CET) Received: by mail-lf1-f51.google.com with SMTP id h205so19561881lfd.5 for ; Thu, 07 Jan 2021 18:47:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5lrlwP15ReEThJVbOCQbN3Rs1cVWivUCfBPzOcwrYxU=; b=PX4TbBfI87wVfROQO+nICYVYQZltJUPrQXI7HPG7hcQ0BixdxmTBUYVLjC9vnqzdc3 Pe8Btw6RCyscheuO/ImMjo/unMegLRu2rA3z9WAyubXMqDTH9LtZNMUucoMHx5NXdqV5 hmhQ3S8C3t1Bk0Xgqq8Uk3SKMI3Ap7grsGfe1UYZj9wFwh6rzYxPjzhju7cGR0f44HSl BDSQeCLxMA82Kj1eN3bdWKxe7EKHAGDzt/PG+bkSbAwKJJb7TVnF0x+EkQdV8BWig865 nl08VxnAUys9umEqFSre1mKkpxeiA0+s4VsG5CVI6XI7M9+s2MzUq7+Ub1uAqUWbCtc7 FOdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5lrlwP15ReEThJVbOCQbN3Rs1cVWivUCfBPzOcwrYxU=; b=qZCGjHOqG0dhc57j8nG2Smt3QkAWW3CPvjaL3lkiFclQ63mvmr7Mt2nxTps2HR37F2 wgnAi3Mbsmiltyo1LBSmRUdq8hCnLc9cGHDXYPQIFvTzEuZPTGKDBdJ9dqDuAU/D/EKS g4ifOLNVAUG3tx6qenss12ELLNpLgMSoMEBbmPGuCuzY5aFGj7YiIzpWnGwjuW8kiqsw zOZucM4uw0iIF16WJsY2Y/RqMjOHegmH1JMt6mFvxKo3KkD4npR/bc0y3o+onFG09Aqp N0FvdcdC7ZZshoG7m8ztfgelZTWOD3vZNr+opaqA2otwHywGMSasNvTUI8pX/vHzL5cq +dCA== X-Gm-Message-State: AOAM532EbUUDd7mblG5mMqTJMBx1F7EBTiwK/Cfq7PEoS1ylSnAXhWLs AZXMFOYZJJJQFZ0eZnjHmwusRYGqp3HjK0ym X-Google-Smtp-Source: ABdhPJw6JQGUbNnK3jasPoeM6zaulC3jew8UskaCeWT/u4clXTjWGRNrnfvuX4JlIg2eaW0ywIwKeQ== X-Received: by 2002:ac2:44ca:: with SMTP id d10mr652672lfm.499.1610074053829; Thu, 07 Jan 2021 18:47:33 -0800 (PST) Received: from localhost.localdomain (broadband-37-110-65-23.ip.moscow.rt.ru. [37.110.65.23]) by smtp.gmail.com with ESMTPSA id i19sm1733599ljj.26.2021.01.07.18.47.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Jan 2021 18:47:32 -0800 (PST) From: Dmitry Kozlyuk To: dev@dpdk.org Cc: Narcisa Ana Maria Vasile , Pallavi Kadam , Dmitry Malloy , Bruce Richardson , Neil Horman , Dmitry Kozlyuk Date: Fri, 8 Jan 2021 05:47:19 +0300 Message-Id: <20210108024723.26210-1-dmitry.kozliuk@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201212233447.23154-1-dmitry.kozliuk@gmail.com> References: <20201212233447.23154-1-dmitry.kozliuk@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2 0/4] pmdinfogen: support Windows 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 Sender: "dev" Based on Python version of pmdinfogen, deferred until 21.02: http://patchwork.dpdk.org/project/dpdk/list/?series=13153 There are a few Python libraries for PE/COFF, none of which suits the need, so a custom COFF parser is used. Advice is welcome, options considered: * py-coff (https://github.com/jeppeter/py-coff): doesn't give access to symbol values, Python 2 code inside, not very popular. * pefile (https://github.com/erocarrera/pefile): for PE (executables and libraries), not COFF (objects); most popular. * pype32-py3 (https://github.com/crackinglandia/pype32): ditto, less popular. A script to extract object files from library is still required. Meson has extract_all_objects(), but they can't be passed as inputs to custom_target() until 0.52.0 (commit f431cff809). v2: Don't require elftools on Windows (Jie Zhou). Dmitry Kozlyuk (4): pmdinfogen: support COFF pmdinfogen: allow multiple input files buildtools: support object file extraction for Windows build: enable pmdinfogen for Windows buildtools/coff.py | 154 ++++++++++++++++++++++++++++++++ buildtools/gen-pmdinfo-cfile.py | 19 ++++ buildtools/gen-pmdinfo-cfile.sh | 14 --- buildtools/meson.build | 15 +++- buildtools/pmdinfogen.py | 135 +++++++++++++++++++++------- drivers/meson.build | 26 +++--- 6 files changed, 301 insertions(+), 62 deletions(-) create mode 100644 buildtools/coff.py create mode 100644 buildtools/gen-pmdinfo-cfile.py delete mode 100755 buildtools/gen-pmdinfo-cfile.sh -- 2.29.2