From patchwork Thu Jul 2 00:02:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Kozlyuk X-Patchwork-Id: 72693 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C8187A0350; Thu, 2 Jul 2020 02:02:50 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4C5931D5A9; Thu, 2 Jul 2020 02:02:49 +0200 (CEST) Received: from mail-lf1-f66.google.com (mail-lf1-f66.google.com [209.85.167.66]) by dpdk.org (Postfix) with ESMTP id CD1581D5A6 for ; Thu, 2 Jul 2020 02:02:47 +0200 (CEST) Received: by mail-lf1-f66.google.com with SMTP id o4so14789362lfi.7 for ; Wed, 01 Jul 2020 17:02:47 -0700 (PDT) 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=8m+PT7tQfAjIH+nbKfzfACNul0QuF99Ztz9B02OYWF4=; b=Pqn+8PTtOvs0ZyiF2C3crDoI92HG9dP1Kq+OrnJCT05LHP1QJhtIfj93dYGToOGzU0 oPIftZYchaZ0UlJHmT0u17tmvXyog0q6GX+NGxor0D4PftUZAPfgXgIkPJDoWWmVhYzU 2KEgEAC7kZhhiXzgDAJ2/BH36ObgZ93VeEpsP5rKC56aaAHCnfPkTkTJDS9WyykIppa1 tWgOHN21hJrl1WxotL9pIEdric2I4u2h4wunYhkm87MXSspZy7uw2L9p1KXm1J9kMkhx jUwjR1bIpbLZAMwgfHkIXVXbo//Qfz9SV61wArKd+O8rxRrbge5mQy1ueJh2bEVCDL76 wf0w== 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=8m+PT7tQfAjIH+nbKfzfACNul0QuF99Ztz9B02OYWF4=; b=MS30ZS8g6gvW8tcORO4/tKDjTJz8jn6McVu77hYuWLLwiT5dhQdOwXdu35dBvM5Igu kWAhU4M/2YC0fHpxTQQ5Hl9Hk1qO1Gd8eedAQAL9716kqw4jE10KTfSwWOuQ/WDPtkRm Z9JbrkfQIcgebHax5KSDEgNzGwShcVNb/A94Dg7vZM7tdnAQyvdsXYGc5HlihbcGTqvp jY/k7v0Mz8H7k2jjqtragi9T6cyXQnCrOVHrEyPtu6t58wTiH+ATjuyWP7O3GdeoRZ/Q Wow/y3NS9SVkAiJwqix8meJEXeanUUC1c0coJKd++Kyv/EGXJ9tD8DAhyxCCRuTNHUHq aPRw== X-Gm-Message-State: AOAM532khCJ+n+MIJD62oCQwFth4BbR4MmIg8ybEd6DOVmVAYUNxFKXs Wa6yzKFVw2yGBaOQt2uufm40vuU6Eyg= X-Google-Smtp-Source: ABdhPJxu/5XgbTJlNUAHuQMFPyKX10toGHAy0aqzPEhMjdIpB8zZpILf2LfBm4sKyPDUWz7but2WEg== X-Received: by 2002:a19:691c:: with SMTP id e28mr16832044lfc.131.1593648166804; Wed, 01 Jul 2020 17:02:46 -0700 (PDT) Received: from localhost.localdomain (broadband-37-110-65-23.ip.moscow.rt.ru. [37.110.65.23]) by smtp.gmail.com with ESMTPSA id u26sm2875550lfq.72.2020.07.01.17.02.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jul 2020 17:02:45 -0700 (PDT) From: Dmitry Kozlyuk To: dev@dpdk.org Cc: Neil Horman , Bruce Richardson , Thomas Monjalon , robin.jarry@6wind.com, Jie Zhou , Tal Shnaiderman , Dmitry Kozlyuk Date: Thu, 2 Jul 2020 03:02:29 +0300 Message-Id: <20200702000232.10761-1-dmitry.kozliuk@gmail.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20200622004503.29036-1-dmitry.kozliuk@gmail.com> References: <20200622004503.29036-1-dmitry.kozliuk@gmail.com> MIME-Version: 1.0 Subject: [dpdk-dev] [RFC PATCH v2 0/2] pmdinfogen: rewrite in Python 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" The goals are: * easier maintenance by using a more high-level language, * simpler build process without host application and libelf. Changes in v2: 1. pyelftools is used instead of hand-written ELF parser. 2. Makefiles are adjusted. 3. f-strings replaced with % formatting to support Python 3.5. 4. Wrapper script does not hide stderr from ar and pmdinfogen. Only logic errors, like missing symbols or invalid content, are checked. This seems enough for debugging and, to my understanding, there are no strong objections. All errors raise exceptions printed to stderr. While discussion of future wrapper logic and Windows support continues, this patchset is ready for testing and review. Dmitry Kozlyuk (3): pmdinfogen: prototype in Python build: use Python pmdinfogen doc/linux_gsg: require pyelftools for pmdinfogen GNUmakefile | 2 +- buildtools/Makefile | 9 -- buildtools/gen-pmdinfo-cfile.sh | 3 +- buildtools/meson.build | 3 +- buildtools/pmdinfogen.py | 191 ++++++++++++++++++++++++++++++ doc/guides/linux_gsg/sys_reqs.rst | 6 + drivers/meson.build | 2 +- mk/internal/rte.compile-pre.mk | 2 +- mk/rte.sdkinstall.mk | 2 - 9 files changed, 202 insertions(+), 18 deletions(-) delete mode 100644 buildtools/Makefile create mode 100755 buildtools/pmdinfogen.py