From patchwork Thu Oct 4 10:20:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatoly Burakov X-Patchwork-Id: 46055 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B9A1F1B197; Thu, 4 Oct 2018 12:22:27 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 27C1A1B18A for ; Thu, 4 Oct 2018 12:22:25 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Oct 2018 03:22:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,338,1534834800"; d="scan'208";a="238416918" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga004.jf.intel.com with ESMTP; 04 Oct 2018 03:20:40 -0700 Received: from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com [10.237.217.45]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id w94AKdST001268; Thu, 4 Oct 2018 11:20:39 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id w94AKdoe001690; Thu, 4 Oct 2018 11:20:39 +0100 Received: (from aburakov@localhost) by sivswdev01.ir.intel.com with LOCAL id w94AKdKC001685; Thu, 4 Oct 2018 11:20:39 +0100 From: Anatoly Burakov To: dev@dpdk.org Cc: dpdk@stormmq.com, bruce.richardson@intel.com, stephen@networkplumber.org, thomas@monjalon.net Date: Thu, 4 Oct 2018 11:20:32 +0100 Message-Id: X-Mailer: git-send-email 1.7.0.7 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 0/7] Improve core EAL musl compatibility 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" This patchset fixes numerous issues with musl compatibility in the core EAL libraries. It does not fix anything beyond core EAL (so, PCI driver is still broken, so are a few other drivers), but it's a good start. Tested on container with Alpine Linux. Alpine dependencies: build-base bsd-compat-headers libexecinfo-dev linux-headers numactl-dev For numactl-dev, testing repository needs to be enabled: echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories If successful (using a very broad definition of "success"), the build should fail somewhere in PCI bus driver in UIO. v3 -> v2: - Made _GNU_SOURCE unconditional for all DPDK targets - Fixed usage of __USE_GNU and _GNU_SOURCE accross DPDK v2 -> v1: - Fixed patch 2 to use existing define if available - Fixed patch 7 to use proper format specifier and cast pthread ID to unsigned pointer type Anatoly Burakov (7): mk: build with _GNU_SOURCE defined by default pci/vfio: improve musl compatibility fbarray: improve musl compatibility eal/hugepage_info: improve musl compatibility mem: improve musl compatibility string_fns: improve musl compatibility eal: improve musl compatibility app/meson.build | 7 +++++- app/test-pmd/Makefile | 2 -- buildtools/pmdinfogen/pmdinfogen.c | 1 - drivers/bus/dpaa/Makefile | 1 - drivers/bus/dpaa/meson.build | 1 - drivers/bus/fslmc/meson.build | 1 - drivers/bus/pci/linux/Makefile | 2 -- drivers/bus/pci/linux/pci_vfio.c | 2 ++ drivers/bus/pci/meson.build | 1 - drivers/crypto/dpaa2_sec/Makefile | 1 - drivers/crypto/dpaa_sec/Makefile | 1 - drivers/mempool/dpaa/Makefile | 1 - drivers/meson.build | 4 ++++ drivers/net/mlx5/mlx5_ethdev.c | 2 -- drivers/net/mlx5/mlx5_socket.c | 2 -- drivers/net/softnic/conn.c | 1 - examples/cmdline/Makefile | 1 - examples/ethtool/ethtool-app/Makefile | 2 +- examples/ip_pipeline/conn.c | 1 - examples/l2fwd-cat/Makefile | 2 -- examples/l2fwd-cat/meson.build | 1 - examples/load_balancer/Makefile | 1 - examples/meson.build | 4 ++++ .../performance-thread/l3fwd-thread/main.c | 2 -- .../performance-thread/pthread_shim/main.c | 1 - .../pthread_shim/pthread_shim.c | 1 - examples/qos_sched/Makefile | 2 -- examples/tep_termination/Makefile | 1 - examples/vhost/Makefile | 1 - examples/vhost_crypto/Makefile | 1 - examples/vhost_crypto/meson.build | 2 +- examples/vhost_scsi/Makefile | 4 ++-- examples/vhost_scsi/meson.build | 2 +- lib/librte_cmdline/Makefile | 1 - lib/librte_cmdline/cmdline.c | 24 ------------------- lib/librte_eal/bsdapp/eal/Makefile | 5 ---- lib/librte_eal/common/eal_common_fbarray.c | 1 + lib/librte_eal/common/eal_common_memory.c | 1 + .../common/include/rte_string_fns.h | 1 + lib/librte_eal/linuxapp/eal/Makefile | 16 ------------- lib/librte_eal/linuxapp/eal/eal.c | 4 ++-- .../linuxapp/eal/eal_hugepage_info.c | 1 + lib/librte_eal/linuxapp/eal/eal_memory.c | 1 + lib/librte_eal/linuxapp/eal/eal_thread.c | 4 ++-- lib/librte_eal/meson.build | 1 - lib/librte_pdump/Makefile | 1 - lib/librte_sched/Makefile | 2 -- lib/meson.build | 4 ++++ mk/target/generic/rte.vars.mk | 3 +++ test/test/Makefile | 2 -- test/test/meson.build | 3 +++ 51 files changed, 40 insertions(+), 94 deletions(-)