From patchwork Thu Oct 4 10:20:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatoly Burakov X-Patchwork-Id: 46054 X-Patchwork-Delegate: thomas@monjalon.net 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 2645D1B1F8; Thu, 4 Oct 2018 12:21:12 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 636B21B1F6 for ; Thu, 4 Oct 2018 12:21:10 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Oct 2018 03:21:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,338,1534834800"; d="scan'208";a="89102805" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga003.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 w94AKexV001271; Thu, 4 Oct 2018 11:20:40 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id w94AKe6K001701; Thu, 4 Oct 2018 11:20:40 +0100 Received: (from aburakov@localhost) by sivswdev01.ir.intel.com with LOCAL id w94AKdLv001693; Thu, 4 Oct 2018 11:20:39 +0100 From: Anatoly Burakov To: dev@dpdk.org Cc: Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , Neil Horman , Hemant Agrawal , Shreyansh Jain , Akhil Goyal , Shahaf Shuler , Yongseok Koh , Jasvinder Singh , Cristian Dumitrescu , Olivier Matz , Remy Horton , Ori Kam , Bruce Richardson , Pablo de Lara , Radu Nicolau , Tomasz Kantecki , John McNamara , Harry van Haaren , Xiaoyun Li , Maxime Coquelin , Tiwei Bie , Zhihong Wang , Reshma Pattan , Thomas Monjalon , dpdk@stormmq.com, stephen@networkplumber.org Date: Thu, 4 Oct 2018 11:20:33 +0100 Message-Id: X-Mailer: git-send-email 1.7.0.7 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 1/7] mk: build with _GNU_SOURCE defined by default 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" We use _GNU_SOURCE all over the place, but often times we miss defining it, resulting in broken builds on musl. Rather than fixing every library's and driver's and application's makefile, fix it by simply defining _GNU_SOURCE by default for all builds. Remove all usages of _GNU_SOURCE in source files and makefiles, and also fixup a couple of instances of using __USE_GNU instead of _GNU_SOURCE. Signed-off-by: Anatoly Burakov --- 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/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/linuxapp/eal/Makefile | 16 ------------- 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 +++ 43 files changed, 29 insertions(+), 90 deletions(-) diff --git a/app/meson.build b/app/meson.build index 99e0b93ec..e68d949e9 100644 --- a/app/meson.build +++ b/app/meson.build @@ -11,13 +11,18 @@ apps = ['pdump', # for BSD only lib_execinfo = cc.find_library('execinfo', required: false) +default_cflags = machine_args + +# specify -D_GNU_SOURCE unconditionally +default_cflags += '-D_GNU_SOURCE' + foreach app:apps build = true name = app allow_experimental_apis = false sources = [] includes = [] - cflags = machine_args + cflags = default_cflags objs = [] # other object files to link against, used e.g. for # instruction-set optimized versions of code diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile index 2b4d604b8..3694a5e31 100644 --- a/app/test-pmd/Makefile +++ b/app/test-pmd/Makefile @@ -70,8 +70,6 @@ endif endif -CFLAGS_cmdline.o := -D_GNU_SOURCE - include $(RTE_SDK)/mk/rte.app.mk endif diff --git a/buildtools/pmdinfogen/pmdinfogen.c b/buildtools/pmdinfogen/pmdinfogen.c index 0f35ca46b..dc0b6d5ff 100644 --- a/buildtools/pmdinfogen/pmdinfogen.c +++ b/buildtools/pmdinfogen/pmdinfogen.c @@ -8,7 +8,6 @@ * */ -#define _GNU_SOURCE #include #include #include diff --git a/drivers/bus/dpaa/Makefile b/drivers/bus/dpaa/Makefile index bffaa9d92..9c90e53f8 100644 --- a/drivers/bus/dpaa/Makefile +++ b/drivers/bus/dpaa/Makefile @@ -14,7 +14,6 @@ CFLAGS := -I$(SRCDIR) $(CFLAGS) CFLAGS += -O3 $(WERROR_FLAGS) CFLAGS += -Wno-pointer-arith CFLAGS += -Wno-cast-qual -CFLAGS += -D _GNU_SOURCE CFLAGS += -I$(RTE_BUS_DPAA)/ CFLAGS += -I$(RTE_BUS_DPAA)/include CFLAGS += -I$(RTE_BUS_DPAA)/base/qbman diff --git a/drivers/bus/dpaa/meson.build b/drivers/bus/dpaa/meson.build index d10b62c03..065a07dfd 100644 --- a/drivers/bus/dpaa/meson.build +++ b/drivers/bus/dpaa/meson.build @@ -26,4 +26,3 @@ if cc.has_argument('-Wno-cast-qual') endif includes += include_directories('include', 'base/qbman') -cflags += ['-D_GNU_SOURCE'] diff --git a/drivers/bus/fslmc/meson.build b/drivers/bus/fslmc/meson.build index 22a56a6fc..6b70882b2 100644 --- a/drivers/bus/fslmc/meson.build +++ b/drivers/bus/fslmc/meson.build @@ -24,4 +24,3 @@ sources = files('fslmc_bus.c', allow_experimental_apis = true includes += include_directories('mc', 'qbman/include', 'portal') -cflags += ['-D_GNU_SOURCE'] diff --git a/drivers/bus/pci/linux/Makefile b/drivers/bus/pci/linux/Makefile index 96ea1d540..90404468b 100644 --- a/drivers/bus/pci/linux/Makefile +++ b/drivers/bus/pci/linux/Makefile @@ -4,5 +4,3 @@ SRCS += pci.c SRCS += pci_uio.c SRCS += pci_vfio.c - -CFLAGS += -D_GNU_SOURCE diff --git a/drivers/bus/pci/meson.build b/drivers/bus/pci/meson.build index 23d6a5fec..1236d477e 100644 --- a/drivers/bus/pci/meson.build +++ b/drivers/bus/pci/meson.build @@ -11,7 +11,6 @@ if host_machine.system() == 'linux' 'linux/pci_uio.c', 'linux/pci_vfio.c') includes += include_directories('linux') - cflags += ['-D_GNU_SOURCE'] else sources += files('bsd/pci.c') includes += include_directories('bsd') diff --git a/drivers/crypto/dpaa2_sec/Makefile b/drivers/crypto/dpaa2_sec/Makefile index da3d8f84f..6197452be 100644 --- a/drivers/crypto/dpaa2_sec/Makefile +++ b/drivers/crypto/dpaa2_sec/Makefile @@ -20,7 +20,6 @@ LIB = librte_pmd_dpaa2_sec.a CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS += -D _GNU_SOURCE ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1) diff --git a/drivers/crypto/dpaa_sec/Makefile b/drivers/crypto/dpaa_sec/Makefile index 9be447041..afe8639e3 100644 --- a/drivers/crypto/dpaa_sec/Makefile +++ b/drivers/crypto/dpaa_sec/Makefile @@ -11,7 +11,6 @@ LIB = librte_pmd_dpaa_sec.a # build flags CFLAGS += -DALLOW_EXPERIMENTAL_API -CFLAGS += -D _GNU_SOURCE CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) diff --git a/drivers/mempool/dpaa/Makefile b/drivers/mempool/dpaa/Makefile index da8da1e90..4f22fbc76 100644 --- a/drivers/mempool/dpaa/Makefile +++ b/drivers/mempool/dpaa/Makefile @@ -10,7 +10,6 @@ LIB = librte_mempool_dpaa.a CFLAGS := -I$(SRCDIR) $(CFLAGS) CFLAGS += -O3 $(WERROR_FLAGS) -CFLAGS += -D _GNU_SOURCE CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/ CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa diff --git a/drivers/meson.build b/drivers/meson.build index 47b4215a3..567f4a19c 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -16,6 +16,10 @@ default_cflags = machine_args if cc.has_argument('-Wno-format-truncation') default_cflags += '-Wno-format-truncation' endif + +# specify -D_GNU_SOURCE unconditionally +default_cflags += '-D_GNU_SOURCE' + foreach class:driver_classes drivers = [] std_deps = [] diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c index 34c5b95ee..3ab448a21 100644 --- a/drivers/net/mlx5/mlx5_ethdev.c +++ b/drivers/net/mlx5/mlx5_ethdev.c @@ -3,8 +3,6 @@ * Copyright 2015 Mellanox Technologies, Ltd */ -#define _GNU_SOURCE - #include #include #include diff --git a/drivers/net/mlx5/mlx5_socket.c b/drivers/net/mlx5/mlx5_socket.c index a3a522911..00106171d 100644 --- a/drivers/net/mlx5/mlx5_socket.c +++ b/drivers/net/mlx5/mlx5_socket.c @@ -3,8 +3,6 @@ * Copyright 2016 Mellanox Technologies, Ltd */ -#define _GNU_SOURCE - #include #include #include diff --git a/drivers/net/softnic/conn.c b/drivers/net/softnic/conn.c index 990cf40fc..8b6658088 100644 --- a/drivers/net/softnic/conn.c +++ b/drivers/net/softnic/conn.c @@ -8,7 +8,6 @@ #include #include -#define __USE_GNU #include #include diff --git a/examples/cmdline/Makefile b/examples/cmdline/Makefile index 7893c85b3..a617cce11 100644 --- a/examples/cmdline/Makefile +++ b/examples/cmdline/Makefile @@ -56,7 +56,6 @@ SRCS-y := main.c commands.c parse_obj_list.c CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS_parse_obj_list.o := -D_GNU_SOURCE include $(RTE_SDK)/mk/rte.extapp.mk diff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile index 4cd9efdd5..9ecfc0b89 100644 --- a/examples/ethtool/ethtool-app/Makefile +++ b/examples/ethtool/ethtool-app/Makefile @@ -16,7 +16,7 @@ APP = ethtool # all source are stored in SRCS-y SRCS-y := main.c ethapp.c -CFLAGS += -O3 -D_GNU_SOURCE -pthread -I$(SRCDIR)/../lib +CFLAGS += -O3 -pthread -I$(SRCDIR)/../lib CFLAGS += $(WERROR_FLAGS) LDLIBS += -L$(subst ethtool-app,lib,$(RTE_OUTPUT))/lib diff --git a/examples/ip_pipeline/conn.c b/examples/ip_pipeline/conn.c index 6b08e9e8e..30fca80c1 100644 --- a/examples/ip_pipeline/conn.c +++ b/examples/ip_pipeline/conn.c @@ -8,7 +8,6 @@ #include #include -#define __USE_GNU #include #include diff --git a/examples/l2fwd-cat/Makefile b/examples/l2fwd-cat/Makefile index aec770c28..b6eeabde1 100644 --- a/examples/l2fwd-cat/Makefile +++ b/examples/l2fwd-cat/Makefile @@ -23,7 +23,6 @@ CFLAGS += -O3 $(shell pkg-config --cflags libdpdk) LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk) LDFLAGS_STATIC = -Wl,-Bstatic $(shell pkg-config --static --libs libdpdk) -CFLAGS += -D_GNU_SOURCE LDFLAGS += -lpqos build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build @@ -66,7 +65,6 @@ endif EXTRA_CFLAGS += -O3 -g -Wfatal-errors CFLAGS += -I$(PQOS_INSTALL_PATH)/../include -CFLAGS_cat.o := -D_GNU_SOURCE LDLIBS += -L$(PQOS_INSTALL_PATH) LDLIBS += -lpqos diff --git a/examples/l2fwd-cat/meson.build b/examples/l2fwd-cat/meson.build index 1234e7b55..4e2777a03 100644 --- a/examples/l2fwd-cat/meson.build +++ b/examples/l2fwd-cat/meson.build @@ -9,7 +9,6 @@ pqos = cc.find_library('pqos', required: false) build = pqos.found() ext_deps += pqos -cflags += '-D_GNU_SOURCE' cflags += '-I/usr/local/include' # assume pqos lib installed in /usr/local sources = files( 'cat.c', 'l2fwd-cat.c' diff --git a/examples/load_balancer/Makefile b/examples/load_balancer/Makefile index fc8df71e8..197b019d5 100644 --- a/examples/load_balancer/Makefile +++ b/examples/load_balancer/Makefile @@ -50,7 +50,6 @@ include $(RTE_SDK)/mk/rte.vars.mk CFLAGS += -O3 -g CFLAGS += $(WERROR_FLAGS) -CFLAGS_config.o := -D_GNU_SOURCE # workaround for a gcc bug with noreturn attribute # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603 diff --git a/examples/meson.build b/examples/meson.build index 4ee7a1114..af81c762e 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -22,6 +22,10 @@ default_cflags = machine_args if cc.has_argument('-Wno-format-truncation') default_cflags += '-Wno-format-truncation' endif + +# specify -D_GNU_SOURCE unconditionally +default_cflags += '-D_GNU_SOURCE' + foreach example: examples name = example build = true diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c index 50fd1b00a..4f8747bc3 100644 --- a/examples/performance-thread/l3fwd-thread/main.c +++ b/examples/performance-thread/l3fwd-thread/main.c @@ -2,8 +2,6 @@ * Copyright(c) 2010-2016 Intel Corporation */ -#define _GNU_SOURCE - #include #include #include diff --git a/examples/performance-thread/pthread_shim/main.c b/examples/performance-thread/pthread_shim/main.c index 7d0d58116..03ff39436 100644 --- a/examples/performance-thread/pthread_shim/main.c +++ b/examples/performance-thread/pthread_shim/main.c @@ -2,7 +2,6 @@ * Copyright(c) 2015 Intel Corporation */ -#define _GNU_SOURCE #include #include #include diff --git a/examples/performance-thread/pthread_shim/pthread_shim.c b/examples/performance-thread/pthread_shim/pthread_shim.c index 53f12437f..a02de0677 100644 --- a/examples/performance-thread/pthread_shim/pthread_shim.c +++ b/examples/performance-thread/pthread_shim/pthread_shim.c @@ -6,7 +6,6 @@ #include #include #include -#define __USE_GNU #include #include diff --git a/examples/qos_sched/Makefile b/examples/qos_sched/Makefile index a7ecf9788..45b0a9eb6 100644 --- a/examples/qos_sched/Makefile +++ b/examples/qos_sched/Makefile @@ -57,8 +57,6 @@ else CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS_args.o := -D_GNU_SOURCE -CFLAGS_cfg_file.o := -D_GNU_SOURCE include $(RTE_SDK)/mk/rte.extapp.mk diff --git a/examples/tep_termination/Makefile b/examples/tep_termination/Makefile index 8ec1a38ef..4c1564325 100644 --- a/examples/tep_termination/Makefile +++ b/examples/tep_termination/Makefile @@ -60,7 +60,6 @@ endif CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS += -D_GNU_SOURCE include $(RTE_SDK)/mk/rte.extapp.mk endif diff --git a/examples/vhost/Makefile b/examples/vhost/Makefile index a2ea97a0c..c6964381b 100644 --- a/examples/vhost/Makefile +++ b/examples/vhost/Makefile @@ -61,7 +61,6 @@ else CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += -O2 -D_FILE_OFFSET_BITS=64 CFLAGS += $(WERROR_FLAGS) -CFLAGS += -D_GNU_SOURCE include $(RTE_SDK)/mk/rte.extapp.mk diff --git a/examples/vhost_crypto/Makefile b/examples/vhost_crypto/Makefile index 83d331012..a620abf49 100644 --- a/examples/vhost_crypto/Makefile +++ b/examples/vhost_crypto/Makefile @@ -25,7 +25,6 @@ SRCS-y := main.c CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += -O2 -D_FILE_OFFSET_BITS=64 CFLAGS += $(WERROR_FLAGS) -CFLAGS += -D_GNU_SOURCE include $(RTE_SDK)/mk/rte.extapp.mk diff --git a/examples/vhost_crypto/meson.build b/examples/vhost_crypto/meson.build index 0f4876f06..daf19fb87 100644 --- a/examples/vhost_crypto/meson.build +++ b/examples/vhost_crypto/meson.build @@ -8,7 +8,7 @@ allow_experimental_apis = true deps += ['vhost', 'cryptodev'] -cflags += ['-D_GNU_SOURCE','-D_FILE_OFFSET_BITS=64'] +cflags += ['-D_FILE_OFFSET_BITS=64'] sources = files( 'main.c' ) diff --git a/examples/vhost_scsi/Makefile b/examples/vhost_scsi/Makefile index fa0cf727e..523aee0bf 100644 --- a/examples/vhost_scsi/Makefile +++ b/examples/vhost_scsi/Makefile @@ -18,7 +18,7 @@ shared: build/$(APP)-shared static: build/$(APP)-static ln -sf $(APP)-static build/$(APP) -CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 +CFLAGS += -D_FILE_OFFSET_BITS=64 LDFLAGS += -pthread PC_FILE := $(shell pkg-config --path libdpdk) @@ -57,7 +57,7 @@ please change the definition of the RTE_TARGET environment variable) all: else -CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 +CFLAGS += -D_FILE_OFFSET_BITS=64 CFLAGS += -O2 CFLAGS += $(WERROR_FLAGS) diff --git a/examples/vhost_scsi/meson.build b/examples/vhost_scsi/meson.build index 5f92370f5..2303bcaed 100644 --- a/examples/vhost_scsi/meson.build +++ b/examples/vhost_scsi/meson.build @@ -10,7 +10,7 @@ if host_machine.system() != 'linux' build = false endif deps += 'vhost' -cflags += ['-D_GNU_SOURCE','-D_FILE_OFFSET_BITS=64'] +cflags += ['-D_FILE_OFFSET_BITS=64'] sources = files( 'scsi.c', 'vhost_scsi.c' ) diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile index ddae1cfde..c64142b8d 100644 --- a/lib/librte_cmdline/Makefile +++ b/lib/librte_cmdline/Makefile @@ -25,7 +25,6 @@ SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_vt100.c SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_socket.c SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_portlist.c -CFLAGS += -D_GNU_SOURCE LDLIBS += -lrte_eal # install includes diff --git a/lib/librte_cmdline/cmdline.c b/lib/librte_cmdline/cmdline.c index 591b78b0f..d9042f048 100644 --- a/lib/librte_cmdline/cmdline.c +++ b/lib/librte_cmdline/cmdline.c @@ -126,35 +126,11 @@ cmdline_printf(const struct cmdline *cl, const char *fmt, ...) if (!cl || !fmt) return; -#ifdef _GNU_SOURCE if (cl->s_out < 0) return; va_start(ap, fmt); vdprintf(cl->s_out, fmt, ap); va_end(ap); -#else - int ret; - char *buf; - - if (cl->s_out < 0) - return; - - buf = malloc(BUFSIZ); - if (buf == NULL) - return; - va_start(ap, fmt); - ret = vsnprintf(buf, BUFSIZ, fmt, ap); - va_end(ap); - if (ret < 0) { - free(buf); - return; - } - if (ret >= BUFSIZ) - ret = BUFSIZ - 1; - ret = write(cl->s_out, buf, ret); - (void)ret; - free(buf); -#endif } int diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile index d27da3d15..7c8e00a2e 100644 --- a/lib/librte_eal/bsdapp/eal/Makefile +++ b/lib/librte_eal/bsdapp/eal/Makefile @@ -77,11 +77,6 @@ SRCS-y += rte_cycles.c CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST) -CFLAGS_eal.o := -D_GNU_SOURCE -#CFLAGS_eal_thread.o := -D_GNU_SOURCE -CFLAGS_eal_log.o := -D_GNU_SOURCE -CFLAGS_eal_common_log.o := -D_GNU_SOURCE - # workaround for a gcc bug with noreturn attribute # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile index fd92c75c2..bfee453bc 100644 --- a/lib/librte_eal/linuxapp/eal/Makefile +++ b/lib/librte_eal/linuxapp/eal/Makefile @@ -85,22 +85,6 @@ SRCS-y += rte_cycles.c CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST) -CFLAGS_eal.o := -D_GNU_SOURCE -CFLAGS_eal_interrupts.o := -D_GNU_SOURCE -CFLAGS_eal_vfio_mp_sync.o := -D_GNU_SOURCE -CFLAGS_eal_timer.o := -D_GNU_SOURCE -CFLAGS_eal_lcore.o := -D_GNU_SOURCE -CFLAGS_eal_memalloc.o := -D_GNU_SOURCE -CFLAGS_eal_thread.o := -D_GNU_SOURCE -CFLAGS_eal_log.o := -D_GNU_SOURCE -CFLAGS_eal_common_log.o := -D_GNU_SOURCE -CFLAGS_eal_hugepage_info.o := -D_GNU_SOURCE -CFLAGS_eal_common_whitelist.o := -D_GNU_SOURCE -CFLAGS_eal_common_options.o := -D_GNU_SOURCE -CFLAGS_eal_common_thread.o := -D_GNU_SOURCE -CFLAGS_eal_common_lcore.o := -D_GNU_SOURCE -CFLAGS_rte_cycles.o := -D_GNU_SOURCE - # workaround for a gcc bug with noreturn attribute # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build index e1fde15d1..f68c6733c 100644 --- a/lib/librte_eal/meson.build +++ b/lib/librte_eal/meson.build @@ -25,7 +25,6 @@ version = 8 # the version of the EAL API allow_experimental_apis = true deps += 'compat' deps += 'kvargs' -cflags += '-D_GNU_SOURCE' sources = common_sources + env_sources objs = common_objs + env_objs headers = common_headers + env_headers diff --git a/lib/librte_pdump/Makefile b/lib/librte_pdump/Makefile index ee14dba7a..b241151dc 100644 --- a/lib/librte_pdump/Makefile +++ b/lib/librte_pdump/Makefile @@ -8,7 +8,6 @@ LIB = librte_pdump.a CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -CFLAGS += -D_GNU_SOURCE LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev EXPORT_MAP := rte_pdump_version.map diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile index 55d9c6989..46c53ed71 100644 --- a/lib/librte_sched/Makefile +++ b/lib/librte_sched/Makefile @@ -11,8 +11,6 @@ LIB = librte_sched.a CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS_rte_red.o := -D_GNU_SOURCE - LDLIBS += -lm LDLIBS += -lrt LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_net diff --git a/lib/meson.build b/lib/meson.build index 3acc67e6e..24351cc40 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -32,6 +32,10 @@ if cc.has_argument('-Wno-format-truncation') endif enabled_libs = [] # used to print summary at the end + +# -D_GNU_SOURCE unconditionally +default_cflags += '-D_GNU_SOURCE' + foreach l:libraries build = true name = l diff --git a/mk/target/generic/rte.vars.mk b/mk/target/generic/rte.vars.mk index 98085cd31..dd149acc9 100644 --- a/mk/target/generic/rte.vars.mk +++ b/mk/target/generic/rte.vars.mk @@ -108,6 +108,9 @@ CFLAGS += -include $(RTE_SDK_BIN)/include/rte_config.h LDFLAGS += -L$(RTE_SDK_BIN)/lib endif +# always define _GNU_SOURCE +CFLAGS += -D_GNU_SOURCE + export CFLAGS export LDFLAGS diff --git a/test/test/Makefile b/test/test/Makefile index dcea4410d..0b7b56ca2 100644 --- a/test/test/Makefile +++ b/test/test/Makefile @@ -209,8 +209,6 @@ CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS += -D_GNU_SOURCE - LDLIBS += -lm ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y) ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y) diff --git a/test/test/meson.build b/test/test/meson.build index bacb5b144..02ce75959 100644 --- a/test/test/meson.build +++ b/test/test/meson.build @@ -251,6 +251,9 @@ if cc.has_argument('-Wno-format-truncation') cflags += '-Wno-format-truncation' endif +# specify -D_GNU_SOURCE unconditionally +default_cflags += '-D_GNU_SOURCE' + test_dep_objs = [] compress_test_dep = dependency('zlib', required: false) if compress_test_dep.found() From patchwork Thu Oct 4 10:20:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatoly Burakov X-Patchwork-Id: 46050 X-Patchwork-Delegate: thomas@monjalon.net 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 516CA1B18A; Thu, 4 Oct 2018 12:20:44 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 9C5821B185 for ; Thu, 4 Oct 2018 12:20:43 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Oct 2018 03:20:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,338,1534834800"; d="scan'208";a="78411920" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga007.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 w94AKeW0001274; Thu, 4 Oct 2018 11:20:40 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id w94AKe0C001708; Thu, 4 Oct 2018 11:20:40 +0100 Received: (from aburakov@localhost) by sivswdev01.ir.intel.com with LOCAL id w94AKePb001704; Thu, 4 Oct 2018 11:20:40 +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:34 +0100 Message-Id: X-Mailer: git-send-email 1.7.0.7 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 2/7] pci/vfio: improve 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" Musl already has PAGE_SIZE defined, and our define clashed with it. Rename our define to SYS_PAGE_SIZE. Bugzilla ID: 36 Signed-off-by: Anatoly Burakov Acked-by: Bruce Richardson --- drivers/bus/pci/linux/pci_vfio.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c index 686386d6a..85f6c9803 100644 --- a/drivers/bus/pci/linux/pci_vfio.c +++ b/drivers/bus/pci/linux/pci_vfio.c @@ -35,7 +35,9 @@ #ifdef VFIO_PRESENT +#ifndef PAGE_SIZE #define PAGE_SIZE (sysconf(_SC_PAGESIZE)) +#endif #define PAGE_MASK (~(PAGE_SIZE - 1)) static struct rte_tailq_elem rte_vfio_tailq = { From patchwork Thu Oct 4 10:20:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatoly Burakov X-Patchwork-Id: 46052 X-Patchwork-Delegate: thomas@monjalon.net 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 EFBEA1B1C4; Thu, 4 Oct 2018 12:20:48 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 8989B1B186 for ; Thu, 4 Oct 2018 12:20:44 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Oct 2018 03:20:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,338,1534834800"; d="scan'208";a="78411923" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga007.jf.intel.com with ESMTP; 04 Oct 2018 03:20:41 -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 w94AKehs001277; Thu, 4 Oct 2018 11:20:40 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id w94AKett001717; Thu, 4 Oct 2018 11:20:40 +0100 Received: (from aburakov@localhost) by sivswdev01.ir.intel.com with LOCAL id w94AKeWe001713; Thu, 4 Oct 2018 11:20:40 +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:35 +0100 Message-Id: <2e310b44cff6a8e036d68af91eb44d3a6466db25.1538648134.git.anatoly.burakov@intel.com> X-Mailer: git-send-email 1.7.0.7 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 3/7] fbarray: improve 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" When built against musl, fcntl.h doesn't silently get included. Fix by including it explicitly. Bugzilla ID: 34 Signed-off-by: Anatoly Burakov Acked-by: Bruce Richardson --- lib/librte_eal/common/eal_common_fbarray.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_eal/common/eal_common_fbarray.c b/lib/librte_eal/common/eal_common_fbarray.c index ba6c4ae39..ea0735cb8 100644 --- a/lib/librte_eal/common/eal_common_fbarray.c +++ b/lib/librte_eal/common/eal_common_fbarray.c @@ -2,6 +2,7 @@ * Copyright(c) 2017-2018 Intel Corporation */ +#include #include #include #include From patchwork Thu Oct 4 10:20:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatoly Burakov X-Patchwork-Id: 46056 X-Patchwork-Delegate: thomas@monjalon.net 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 3F2631B197; Thu, 4 Oct 2018 12:25:08 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id A8A061B18A for ; Thu, 4 Oct 2018 12:25:05 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Oct 2018 03:25:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,338,1534834800"; d="scan'208";a="97350113" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga002.jf.intel.com with ESMTP; 04 Oct 2018 03:20:41 -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 w94AKeIN001280; Thu, 4 Oct 2018 11:20:40 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id w94AKeOp001725; Thu, 4 Oct 2018 11:20:40 +0100 Received: (from aburakov@localhost) by sivswdev01.ir.intel.com with LOCAL id w94AKe6p001720; Thu, 4 Oct 2018 11:20:40 +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:36 +0100 Message-Id: X-Mailer: git-send-email 1.7.0.7 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 4/7] eal/hugepage_info: improve 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" When built against musl, fcntl.h doesn't silently get included. Fix by including it explicitly. Bugzilla ID: 33 Signed-off-by: Anatoly Burakov Acked-by: Bruce Richardson --- lib/librte_eal/linuxapp/eal/eal_hugepage_info.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c b/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c index 3a7d4b222..0eab1cf71 100644 --- a/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c +++ b/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include From patchwork Thu Oct 4 10:20:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatoly Burakov X-Patchwork-Id: 46051 X-Patchwork-Delegate: thomas@monjalon.net 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 548581B19F; Thu, 4 Oct 2018 12:20:47 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id EB3191B186 for ; Thu, 4 Oct 2018 12:20:43 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Oct 2018 03:20:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,338,1534834800"; d="scan'208";a="96399326" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga001.jf.intel.com with ESMTP; 04 Oct 2018 03:20:41 -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 w94AKemJ001283; Thu, 4 Oct 2018 11:20:40 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id w94AKePS001732; Thu, 4 Oct 2018 11:20:40 +0100 Received: (from aburakov@localhost) by sivswdev01.ir.intel.com with LOCAL id w94AKene001728; Thu, 4 Oct 2018 11:20:40 +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:37 +0100 Message-Id: <2a6da272c353730c676c05ee446696beee43d405.1538648134.git.anatoly.burakov@intel.com> X-Mailer: git-send-email 1.7.0.7 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 5/7] mem: improve 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" When built against musl, fcntl.h doesn't silently get included. Fix by including it explicitly. Bugzilla ID: 31 Signed-off-by: Anatoly Burakov Acked-by: Bruce Richardson --- lib/librte_eal/common/eal_common_memory.c | 1 + lib/librte_eal/linuxapp/eal/eal_memory.c | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/librte_eal/common/eal_common_memory.c b/lib/librte_eal/common/eal_common_memory.c index 0b69804ff..9b5eacc57 100644 --- a/lib/librte_eal/common/eal_common_memory.c +++ b/lib/librte_eal/common/eal_common_memory.c @@ -2,6 +2,7 @@ * Copyright(c) 2010-2014 Intel Corporation */ +#include #include #include #include diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c index e3ac24815..256cab526 100644 --- a/lib/librte_eal/linuxapp/eal/eal_memory.c +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c @@ -5,6 +5,7 @@ #define _FILE_OFFSET_BITS 64 #include +#include #include #include #include From patchwork Thu Oct 4 10:20:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatoly Burakov X-Patchwork-Id: 46057 X-Patchwork-Delegate: thomas@monjalon.net 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 E73211B18A; Thu, 4 Oct 2018 12:26:04 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id ED79E1B189 for ; Thu, 4 Oct 2018 12:26:03 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Oct 2018 03:26:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,338,1534834800"; d="scan'208";a="97350114" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga002.jf.intel.com with ESMTP; 04 Oct 2018 03:20:41 -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 w94AKeNO001286; Thu, 4 Oct 2018 11:20:40 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id w94AKerp001739; Thu, 4 Oct 2018 11:20:40 +0100 Received: (from aburakov@localhost) by sivswdev01.ir.intel.com with LOCAL id w94AKelc001735; Thu, 4 Oct 2018 11:20:40 +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:38 +0100 Message-Id: <80d37317e567f17f035b302387a5ddadd066fc49.1538648134.git.anatoly.burakov@intel.com> X-Mailer: git-send-email 1.7.0.7 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 6/7] string_fns: improve 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" Musl wraps various string functions such as strlcpy in order to harden them. However, the fortify wrappers are included without including the actual string functions being wrapped, which throws missing definition compile errors. Fix by including string.h in string functions header. Signed-off-by: Anatoly Burakov Acked-by: Bruce Richardson --- lib/librte_eal/common/include/rte_string_fns.h | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_eal/common/include/rte_string_fns.h b/lib/librte_eal/common/include/rte_string_fns.h index ecd141b85..295844ad2 100644 --- a/lib/librte_eal/common/include/rte_string_fns.h +++ b/lib/librte_eal/common/include/rte_string_fns.h @@ -16,6 +16,7 @@ extern "C" { #endif #include +#include /** * Takes string "string" parameter and splits it at character "delim" From patchwork Thu Oct 4 10:20:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatoly Burakov X-Patchwork-Id: 46053 X-Patchwork-Delegate: thomas@monjalon.net 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 5531E1B1D7; Thu, 4 Oct 2018 12:20:50 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id BD1051B19A for ; Thu, 4 Oct 2018 12:20:44 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Oct 2018 03:20:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,338,1534834800"; d="scan'208";a="78411928" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga007.jf.intel.com with ESMTP; 04 Oct 2018 03:20:41 -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 w94AKeGE001289; Thu, 4 Oct 2018 11:20:40 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id w94AKe6g001746; Thu, 4 Oct 2018 11:20:40 +0100 Received: (from aburakov@localhost) by sivswdev01.ir.intel.com with LOCAL id w94AKe6U001742; Thu, 4 Oct 2018 11:20:40 +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:39 +0100 Message-Id: <3e7af2c9ce0df5e300b543a21d59ac6ed780efef.1538648134.git.anatoly.burakov@intel.com> X-Mailer: git-send-email 1.7.0.7 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 7/7] eal: improve 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" Musl complains about pthread id being of wrong size, because on musl, pthread_t is a struct pointer, not an unsinged int. Fix the printing code by casting pthread id to unsigned pointer type and adjusting the format specifier to be of appropriate size. Signed-off-by: Anatoly Burakov Acked-by: Bruce Richardson --- lib/librte_eal/linuxapp/eal/eal.c | 4 ++-- lib/librte_eal/linuxapp/eal/eal_thread.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c index e59ac6577..1d6a9ac44 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -979,8 +979,8 @@ rte_eal_init(int argc, char **argv) ret = eal_thread_dump_affinity(cpuset, sizeof(cpuset)); - RTE_LOG(DEBUG, EAL, "Master lcore %u is ready (tid=%x;cpuset=[%s%s])\n", - rte_config.master_lcore, (int)thread_id, cpuset, + RTE_LOG(DEBUG, EAL, "Master lcore %u is ready (tid=%zx;cpuset=[%s%s])\n", + rte_config.master_lcore, (uintptr_t)thread_id, cpuset, ret == 0 ? "" : "..."); RTE_LCORE_FOREACH_SLAVE(i) { diff --git a/lib/librte_eal/linuxapp/eal/eal_thread.c b/lib/librte_eal/linuxapp/eal/eal_thread.c index b496fc711..379773b68 100644 --- a/lib/librte_eal/linuxapp/eal/eal_thread.c +++ b/lib/librte_eal/linuxapp/eal/eal_thread.c @@ -121,8 +121,8 @@ eal_thread_loop(__attribute__((unused)) void *arg) ret = eal_thread_dump_affinity(cpuset, sizeof(cpuset)); - RTE_LOG(DEBUG, EAL, "lcore %u is ready (tid=%x;cpuset=[%s%s])\n", - lcore_id, (int)thread_id, cpuset, ret == 0 ? "" : "..."); + RTE_LOG(DEBUG, EAL, "lcore %u is ready (tid=%zx;cpuset=[%s%s])\n", + lcore_id, (uintptr_t)thread_id, cpuset, ret == 0 ? "" : "..."); /* read on our pipe to get commands */ while (1) {