get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/46054/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 46054,
    "url": "http://patchwork.dpdk.org/api/patches/46054/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/c98ff0acc0839d5e028d13115798c0073b282fce.1538648134.git.anatoly.burakov@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<c98ff0acc0839d5e028d13115798c0073b282fce.1538648134.git.anatoly.burakov@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/c98ff0acc0839d5e028d13115798c0073b282fce.1538648134.git.anatoly.burakov@intel.com",
    "date": "2018-10-04T10:20:33",
    "name": "[v3,1/7] mk: build with _GNU_SOURCE defined by default",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "f61b74b5e90cc9bf3074850a14b7b2eae06e5bba",
    "submitter": {
        "id": 4,
        "url": "http://patchwork.dpdk.org/api/people/4/?format=api",
        "name": "Anatoly Burakov",
        "email": "anatoly.burakov@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/c98ff0acc0839d5e028d13115798c0073b282fce.1538648134.git.anatoly.burakov@intel.com/mbox/",
    "series": [
        {
            "id": 1687,
            "url": "http://patchwork.dpdk.org/api/series/1687/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=1687",
            "date": "2018-10-04T10:20:34",
            "name": "Improve core EAL musl compatibility",
            "version": 3,
            "mbox": "http://patchwork.dpdk.org/series/1687/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/46054/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/46054/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 2645D1B1F8;\n\tThu,  4 Oct 2018 12:21:12 +0200 (CEST)",
            "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby dpdk.org (Postfix) with ESMTP id 636B21B1F6\n\tfor <dev@dpdk.org>; Thu,  4 Oct 2018 12:21:10 +0200 (CEST)",
            "from orsmga003.jf.intel.com ([10.7.209.27])\n\tby orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t04 Oct 2018 03:21:09 -0700",
            "from irvmail001.ir.intel.com ([163.33.26.43])\n\tby orsmga003.jf.intel.com with ESMTP; 04 Oct 2018 03:20:40 -0700",
            "from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com\n\t[10.237.217.45])\n\tby irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id\n\tw94AKexV001271; Thu, 4 Oct 2018 11:20:40 +0100",
            "from sivswdev01.ir.intel.com (localhost [127.0.0.1])\n\tby sivswdev01.ir.intel.com with ESMTP id w94AKe6K001701;\n\tThu, 4 Oct 2018 11:20:40 +0100",
            "(from aburakov@localhost)\n\tby sivswdev01.ir.intel.com with LOCAL id w94AKdLv001693;\n\tThu, 4 Oct 2018 11:20:39 +0100"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.54,338,1534834800\"; d=\"scan'208\";a=\"89102805\"",
        "From": "Anatoly Burakov <anatoly.burakov@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "Wenzhuo Lu <wenzhuo.lu@intel.com>, Jingjing Wu <jingjing.wu@intel.com>, \n\tBernard Iremonger <bernard.iremonger@intel.com>,\n\tNeil Horman <nhorman@tuxdriver.com>,\n\tHemant Agrawal <hemant.agrawal@nxp.com>,\n\tShreyansh Jain <shreyansh.jain@nxp.com>,\n\tAkhil Goyal <akhil.goyal@nxp.com>, Shahaf Shuler <shahafs@mellanox.com>,\n\tYongseok Koh <yskoh@mellanox.com>, \n\tJasvinder Singh <jasvinder.singh@intel.com>,\n\tCristian Dumitrescu <cristian.dumitrescu@intel.com>,\n\tOlivier Matz <olivier.matz@6wind.com>,\n\tRemy Horton <remy.horton@intel.com>, Ori Kam <orika@mellanox.com>,\n\tBruce Richardson <bruce.richardson@intel.com>,\n\tPablo de Lara <pablo.de.lara.guarch@intel.com>,\n\tRadu Nicolau <radu.nicolau@intel.com>,\n\tTomasz Kantecki <tomasz.kantecki@intel.com>,\n\tJohn McNamara <john.mcnamara@intel.com>,\n\tHarry van Haaren <harry.van.haaren@intel.com>,\n\tXiaoyun Li <xiaoyun.li@intel.com>,\n\tMaxime Coquelin <maxime.coquelin@redhat.com>,\n\tTiwei Bie <tiwei.bie@intel.com>, Zhihong Wang <zhihong.wang@intel.com>,\n\tReshma Pattan <reshma.pattan@intel.com>,\n\tThomas Monjalon <thomas@monjalon.net>, dpdk@stormmq.com,\n\tstephen@networkplumber.org",
        "Date": "Thu,  4 Oct 2018 11:20:33 +0100",
        "Message-Id": "<c98ff0acc0839d5e028d13115798c0073b282fce.1538648134.git.anatoly.burakov@intel.com>",
        "X-Mailer": "git-send-email 1.7.0.7",
        "In-Reply-To": [
            "<cover.1538648134.git.anatoly.burakov@intel.com>",
            "<cover.1538648134.git.anatoly.burakov@intel.com>"
        ],
        "References": [
            "<cover.1538648134.git.anatoly.burakov@intel.com>",
            "<cover.1537456998.git.anatoly.burakov@intel.com>\n\t<cover.1538648134.git.anatoly.burakov@intel.com>"
        ],
        "Subject": "[dpdk-dev] [PATCH v3 1/7] mk: build with _GNU_SOURCE defined by\n\tdefault",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "We use _GNU_SOURCE all over the place, but often times we miss\ndefining it, resulting in broken builds on musl. Rather than\nfixing every library's and driver's and application's makefile,\nfix it by simply defining _GNU_SOURCE by default for all\nbuilds.\n\nRemove all usages of _GNU_SOURCE in source files and makefiles,\nand also fixup a couple of instances of using __USE_GNU instead\nof _GNU_SOURCE.\n\nSigned-off-by: Anatoly Burakov <anatoly.burakov@intel.com>\n---\n app/meson.build                               |  7 +++++-\n app/test-pmd/Makefile                         |  2 --\n buildtools/pmdinfogen/pmdinfogen.c            |  1 -\n drivers/bus/dpaa/Makefile                     |  1 -\n drivers/bus/dpaa/meson.build                  |  1 -\n drivers/bus/fslmc/meson.build                 |  1 -\n drivers/bus/pci/linux/Makefile                |  2 --\n drivers/bus/pci/meson.build                   |  1 -\n drivers/crypto/dpaa2_sec/Makefile             |  1 -\n drivers/crypto/dpaa_sec/Makefile              |  1 -\n drivers/mempool/dpaa/Makefile                 |  1 -\n drivers/meson.build                           |  4 ++++\n drivers/net/mlx5/mlx5_ethdev.c                |  2 --\n drivers/net/mlx5/mlx5_socket.c                |  2 --\n drivers/net/softnic/conn.c                    |  1 -\n examples/cmdline/Makefile                     |  1 -\n examples/ethtool/ethtool-app/Makefile         |  2 +-\n examples/ip_pipeline/conn.c                   |  1 -\n examples/l2fwd-cat/Makefile                   |  2 --\n examples/l2fwd-cat/meson.build                |  1 -\n examples/load_balancer/Makefile               |  1 -\n examples/meson.build                          |  4 ++++\n .../performance-thread/l3fwd-thread/main.c    |  2 --\n .../performance-thread/pthread_shim/main.c    |  1 -\n .../pthread_shim/pthread_shim.c               |  1 -\n examples/qos_sched/Makefile                   |  2 --\n examples/tep_termination/Makefile             |  1 -\n examples/vhost/Makefile                       |  1 -\n examples/vhost_crypto/Makefile                |  1 -\n examples/vhost_crypto/meson.build             |  2 +-\n examples/vhost_scsi/Makefile                  |  4 ++--\n examples/vhost_scsi/meson.build               |  2 +-\n lib/librte_cmdline/Makefile                   |  1 -\n lib/librte_cmdline/cmdline.c                  | 24 -------------------\n lib/librte_eal/bsdapp/eal/Makefile            |  5 ----\n lib/librte_eal/linuxapp/eal/Makefile          | 16 -------------\n lib/librte_eal/meson.build                    |  1 -\n lib/librte_pdump/Makefile                     |  1 -\n lib/librte_sched/Makefile                     |  2 --\n lib/meson.build                               |  4 ++++\n mk/target/generic/rte.vars.mk                 |  3 +++\n test/test/Makefile                            |  2 --\n test/test/meson.build                         |  3 +++\n 43 files changed, 29 insertions(+), 90 deletions(-)",
    "diff": "diff --git a/app/meson.build b/app/meson.build\nindex 99e0b93ec..e68d949e9 100644\n--- a/app/meson.build\n+++ b/app/meson.build\n@@ -11,13 +11,18 @@ apps = ['pdump',\n # for BSD only\n lib_execinfo = cc.find_library('execinfo', required: false)\n \n+default_cflags = machine_args\n+\n+# specify -D_GNU_SOURCE unconditionally\n+default_cflags += '-D_GNU_SOURCE'\n+\n foreach app:apps\n \tbuild = true\n \tname = app\n \tallow_experimental_apis = false\n \tsources = []\n \tincludes = []\n-\tcflags = machine_args\n+\tcflags = default_cflags\n \tobjs = [] # other object files to link against, used e.g. for\n \t          # instruction-set optimized versions of code\n \ndiff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile\nindex 2b4d604b8..3694a5e31 100644\n--- a/app/test-pmd/Makefile\n+++ b/app/test-pmd/Makefile\n@@ -70,8 +70,6 @@ endif\n \n endif\n \n-CFLAGS_cmdline.o := -D_GNU_SOURCE\n-\n include $(RTE_SDK)/mk/rte.app.mk\n \n endif\ndiff --git a/buildtools/pmdinfogen/pmdinfogen.c b/buildtools/pmdinfogen/pmdinfogen.c\nindex 0f35ca46b..dc0b6d5ff 100644\n--- a/buildtools/pmdinfogen/pmdinfogen.c\n+++ b/buildtools/pmdinfogen/pmdinfogen.c\n@@ -8,7 +8,6 @@\n  *\n  */\n \n-#define _GNU_SOURCE\n #include <stdio.h>\n #include <ctype.h>\n #include <string.h>\ndiff --git a/drivers/bus/dpaa/Makefile b/drivers/bus/dpaa/Makefile\nindex bffaa9d92..9c90e53f8 100644\n--- a/drivers/bus/dpaa/Makefile\n+++ b/drivers/bus/dpaa/Makefile\n@@ -14,7 +14,6 @@ CFLAGS := -I$(SRCDIR) $(CFLAGS)\n CFLAGS += -O3 $(WERROR_FLAGS)\n CFLAGS += -Wno-pointer-arith\n CFLAGS += -Wno-cast-qual\n-CFLAGS += -D _GNU_SOURCE\n CFLAGS += -I$(RTE_BUS_DPAA)/\n CFLAGS += -I$(RTE_BUS_DPAA)/include\n CFLAGS += -I$(RTE_BUS_DPAA)/base/qbman\ndiff --git a/drivers/bus/dpaa/meson.build b/drivers/bus/dpaa/meson.build\nindex d10b62c03..065a07dfd 100644\n--- a/drivers/bus/dpaa/meson.build\n+++ b/drivers/bus/dpaa/meson.build\n@@ -26,4 +26,3 @@ if cc.has_argument('-Wno-cast-qual')\n endif\n \n includes += include_directories('include', 'base/qbman')\n-cflags += ['-D_GNU_SOURCE']\ndiff --git a/drivers/bus/fslmc/meson.build b/drivers/bus/fslmc/meson.build\nindex 22a56a6fc..6b70882b2 100644\n--- a/drivers/bus/fslmc/meson.build\n+++ b/drivers/bus/fslmc/meson.build\n@@ -24,4 +24,3 @@ sources = files('fslmc_bus.c',\n allow_experimental_apis = true\n \n includes += include_directories('mc', 'qbman/include', 'portal')\n-cflags += ['-D_GNU_SOURCE']\ndiff --git a/drivers/bus/pci/linux/Makefile b/drivers/bus/pci/linux/Makefile\nindex 96ea1d540..90404468b 100644\n--- a/drivers/bus/pci/linux/Makefile\n+++ b/drivers/bus/pci/linux/Makefile\n@@ -4,5 +4,3 @@\n SRCS += pci.c\n SRCS += pci_uio.c\n SRCS += pci_vfio.c\n-\n-CFLAGS += -D_GNU_SOURCE\ndiff --git a/drivers/bus/pci/meson.build b/drivers/bus/pci/meson.build\nindex 23d6a5fec..1236d477e 100644\n--- a/drivers/bus/pci/meson.build\n+++ b/drivers/bus/pci/meson.build\n@@ -11,7 +11,6 @@ if host_machine.system() == 'linux'\n \t\t\t'linux/pci_uio.c',\n \t\t\t'linux/pci_vfio.c')\n \tincludes += include_directories('linux')\n-\tcflags += ['-D_GNU_SOURCE']\n else\n \tsources += files('bsd/pci.c')\n \tincludes += include_directories('bsd')\ndiff --git a/drivers/crypto/dpaa2_sec/Makefile b/drivers/crypto/dpaa2_sec/Makefile\nindex da3d8f84f..6197452be 100644\n--- a/drivers/crypto/dpaa2_sec/Makefile\n+++ b/drivers/crypto/dpaa2_sec/Makefile\n@@ -20,7 +20,6 @@ LIB = librte_pmd_dpaa2_sec.a\n CFLAGS += -DALLOW_EXPERIMENTAL_API\n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n-CFLAGS += -D _GNU_SOURCE\n \n ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)\n ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)\ndiff --git a/drivers/crypto/dpaa_sec/Makefile b/drivers/crypto/dpaa_sec/Makefile\nindex 9be447041..afe8639e3 100644\n--- a/drivers/crypto/dpaa_sec/Makefile\n+++ b/drivers/crypto/dpaa_sec/Makefile\n@@ -11,7 +11,6 @@ LIB = librte_pmd_dpaa_sec.a\n \n # build flags\n CFLAGS += -DALLOW_EXPERIMENTAL_API\n-CFLAGS += -D _GNU_SOURCE\n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n \ndiff --git a/drivers/mempool/dpaa/Makefile b/drivers/mempool/dpaa/Makefile\nindex da8da1e90..4f22fbc76 100644\n--- a/drivers/mempool/dpaa/Makefile\n+++ b/drivers/mempool/dpaa/Makefile\n@@ -10,7 +10,6 @@ LIB = librte_mempool_dpaa.a\n \n CFLAGS := -I$(SRCDIR) $(CFLAGS)\n CFLAGS += -O3 $(WERROR_FLAGS)\n-CFLAGS += -D _GNU_SOURCE\n CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa\n CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/\n CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa\ndiff --git a/drivers/meson.build b/drivers/meson.build\nindex 47b4215a3..567f4a19c 100644\n--- a/drivers/meson.build\n+++ b/drivers/meson.build\n@@ -16,6 +16,10 @@ default_cflags = machine_args\n if cc.has_argument('-Wno-format-truncation')\n \tdefault_cflags += '-Wno-format-truncation'\n endif\n+\n+# specify -D_GNU_SOURCE unconditionally\n+default_cflags += '-D_GNU_SOURCE'\n+\n foreach class:driver_classes\n \tdrivers = []\n \tstd_deps = []\ndiff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c\nindex 34c5b95ee..3ab448a21 100644\n--- a/drivers/net/mlx5/mlx5_ethdev.c\n+++ b/drivers/net/mlx5/mlx5_ethdev.c\n@@ -3,8 +3,6 @@\n  * Copyright 2015 Mellanox Technologies, Ltd\n  */\n \n-#define _GNU_SOURCE\n-\n #include <stddef.h>\n #include <assert.h>\n #include <inttypes.h>\ndiff --git a/drivers/net/mlx5/mlx5_socket.c b/drivers/net/mlx5/mlx5_socket.c\nindex a3a522911..00106171d 100644\n--- a/drivers/net/mlx5/mlx5_socket.c\n+++ b/drivers/net/mlx5/mlx5_socket.c\n@@ -3,8 +3,6 @@\n  * Copyright 2016 Mellanox Technologies, Ltd\n  */\n \n-#define _GNU_SOURCE\n-\n #include <sys/types.h>\n #include <sys/socket.h>\n #include <sys/un.h>\ndiff --git a/drivers/net/softnic/conn.c b/drivers/net/softnic/conn.c\nindex 990cf40fc..8b6658088 100644\n--- a/drivers/net/softnic/conn.c\n+++ b/drivers/net/softnic/conn.c\n@@ -8,7 +8,6 @@\n #include <unistd.h>\n #include <sys/types.h>\n \n-#define __USE_GNU\n #include <sys/socket.h>\n \n #include <sys/epoll.h>\ndiff --git a/examples/cmdline/Makefile b/examples/cmdline/Makefile\nindex 7893c85b3..a617cce11 100644\n--- a/examples/cmdline/Makefile\n+++ b/examples/cmdline/Makefile\n@@ -56,7 +56,6 @@ SRCS-y := main.c commands.c parse_obj_list.c\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n-CFLAGS_parse_obj_list.o := -D_GNU_SOURCE\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n \ndiff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile\nindex 4cd9efdd5..9ecfc0b89 100644\n--- a/examples/ethtool/ethtool-app/Makefile\n+++ b/examples/ethtool/ethtool-app/Makefile\n@@ -16,7 +16,7 @@ APP = ethtool\n # all source are stored in SRCS-y\n SRCS-y := main.c ethapp.c\n \n-CFLAGS += -O3 -D_GNU_SOURCE -pthread -I$(SRCDIR)/../lib\n+CFLAGS += -O3 -pthread -I$(SRCDIR)/../lib\n CFLAGS += $(WERROR_FLAGS)\n \n LDLIBS += -L$(subst ethtool-app,lib,$(RTE_OUTPUT))/lib\ndiff --git a/examples/ip_pipeline/conn.c b/examples/ip_pipeline/conn.c\nindex 6b08e9e8e..30fca80c1 100644\n--- a/examples/ip_pipeline/conn.c\n+++ b/examples/ip_pipeline/conn.c\n@@ -8,7 +8,6 @@\n #include <unistd.h>\n #include <sys/types.h>\n \n-#define __USE_GNU\n #include <sys/socket.h>\n \n #include <sys/epoll.h>\ndiff --git a/examples/l2fwd-cat/Makefile b/examples/l2fwd-cat/Makefile\nindex aec770c28..b6eeabde1 100644\n--- a/examples/l2fwd-cat/Makefile\n+++ b/examples/l2fwd-cat/Makefile\n@@ -23,7 +23,6 @@ CFLAGS += -O3 $(shell pkg-config --cflags libdpdk)\n LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk)\n LDFLAGS_STATIC = -Wl,-Bstatic $(shell pkg-config --static --libs libdpdk)\n \n-CFLAGS += -D_GNU_SOURCE\n LDFLAGS += -lpqos\n \n build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build\n@@ -66,7 +65,6 @@ endif\n EXTRA_CFLAGS += -O3 -g -Wfatal-errors\n \n CFLAGS += -I$(PQOS_INSTALL_PATH)/../include\n-CFLAGS_cat.o := -D_GNU_SOURCE\n \n LDLIBS += -L$(PQOS_INSTALL_PATH)\n LDLIBS += -lpqos\ndiff --git a/examples/l2fwd-cat/meson.build b/examples/l2fwd-cat/meson.build\nindex 1234e7b55..4e2777a03 100644\n--- a/examples/l2fwd-cat/meson.build\n+++ b/examples/l2fwd-cat/meson.build\n@@ -9,7 +9,6 @@\n pqos = cc.find_library('pqos', required: false)\n build = pqos.found()\n ext_deps += pqos\n-cflags += '-D_GNU_SOURCE'\n cflags += '-I/usr/local/include' # assume pqos lib installed in /usr/local\n sources = files(\n \t'cat.c', 'l2fwd-cat.c'\ndiff --git a/examples/load_balancer/Makefile b/examples/load_balancer/Makefile\nindex fc8df71e8..197b019d5 100644\n--- a/examples/load_balancer/Makefile\n+++ b/examples/load_balancer/Makefile\n@@ -50,7 +50,6 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3 -g\n CFLAGS += $(WERROR_FLAGS)\n-CFLAGS_config.o := -D_GNU_SOURCE\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/meson.build b/examples/meson.build\nindex 4ee7a1114..af81c762e 100644\n--- a/examples/meson.build\n+++ b/examples/meson.build\n@@ -22,6 +22,10 @@ default_cflags = machine_args\n if cc.has_argument('-Wno-format-truncation')\n \tdefault_cflags += '-Wno-format-truncation'\n endif\n+\n+# specify -D_GNU_SOURCE unconditionally\n+default_cflags += '-D_GNU_SOURCE'\n+\n foreach example: examples\n \tname = example\n \tbuild = true\ndiff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c\nindex 50fd1b00a..4f8747bc3 100644\n--- a/examples/performance-thread/l3fwd-thread/main.c\n+++ b/examples/performance-thread/l3fwd-thread/main.c\n@@ -2,8 +2,6 @@\n  * Copyright(c) 2010-2016 Intel Corporation\n  */\n \n-#define _GNU_SOURCE\n-\n #include <stdio.h>\n #include <stdlib.h>\n #include <stdint.h>\ndiff --git a/examples/performance-thread/pthread_shim/main.c b/examples/performance-thread/pthread_shim/main.c\nindex 7d0d58116..03ff39436 100644\n--- a/examples/performance-thread/pthread_shim/main.c\n+++ b/examples/performance-thread/pthread_shim/main.c\n@@ -2,7 +2,6 @@\n  * Copyright(c) 2015 Intel Corporation\n  */\n \n-#define _GNU_SOURCE\n #include <stdio.h>\n #include <stdlib.h>\n #include <stdint.h>\ndiff --git a/examples/performance-thread/pthread_shim/pthread_shim.c b/examples/performance-thread/pthread_shim/pthread_shim.c\nindex 53f12437f..a02de0677 100644\n--- a/examples/performance-thread/pthread_shim/pthread_shim.c\n+++ b/examples/performance-thread/pthread_shim/pthread_shim.c\n@@ -6,7 +6,6 @@\n #include <stdlib.h>\n #include <sys/types.h>\n #include <errno.h>\n-#define __USE_GNU\n #include <sched.h>\n #include <dlfcn.h>\n \ndiff --git a/examples/qos_sched/Makefile b/examples/qos_sched/Makefile\nindex a7ecf9788..45b0a9eb6 100644\n--- a/examples/qos_sched/Makefile\n+++ b/examples/qos_sched/Makefile\n@@ -57,8 +57,6 @@ else\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n-CFLAGS_args.o := -D_GNU_SOURCE\n-CFLAGS_cfg_file.o := -D_GNU_SOURCE\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n \ndiff --git a/examples/tep_termination/Makefile b/examples/tep_termination/Makefile\nindex 8ec1a38ef..4c1564325 100644\n--- a/examples/tep_termination/Makefile\n+++ b/examples/tep_termination/Makefile\n@@ -60,7 +60,6 @@ endif\n CFLAGS += -DALLOW_EXPERIMENTAL_API\n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n-CFLAGS += -D_GNU_SOURCE\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n endif\ndiff --git a/examples/vhost/Makefile b/examples/vhost/Makefile\nindex a2ea97a0c..c6964381b 100644\n--- a/examples/vhost/Makefile\n+++ b/examples/vhost/Makefile\n@@ -61,7 +61,6 @@ else\n CFLAGS += -DALLOW_EXPERIMENTAL_API\n CFLAGS += -O2 -D_FILE_OFFSET_BITS=64\n CFLAGS += $(WERROR_FLAGS)\n-CFLAGS += -D_GNU_SOURCE\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n \ndiff --git a/examples/vhost_crypto/Makefile b/examples/vhost_crypto/Makefile\nindex 83d331012..a620abf49 100644\n--- a/examples/vhost_crypto/Makefile\n+++ b/examples/vhost_crypto/Makefile\n@@ -25,7 +25,6 @@ SRCS-y := main.c\n CFLAGS += -DALLOW_EXPERIMENTAL_API\n CFLAGS += -O2 -D_FILE_OFFSET_BITS=64\n CFLAGS += $(WERROR_FLAGS)\n-CFLAGS += -D_GNU_SOURCE\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n \ndiff --git a/examples/vhost_crypto/meson.build b/examples/vhost_crypto/meson.build\nindex 0f4876f06..daf19fb87 100644\n--- a/examples/vhost_crypto/meson.build\n+++ b/examples/vhost_crypto/meson.build\n@@ -8,7 +8,7 @@\n \n allow_experimental_apis = true\n deps += ['vhost', 'cryptodev']\n-cflags += ['-D_GNU_SOURCE','-D_FILE_OFFSET_BITS=64']\n+cflags += ['-D_FILE_OFFSET_BITS=64']\n sources = files(\n \t'main.c'\n )\ndiff --git a/examples/vhost_scsi/Makefile b/examples/vhost_scsi/Makefile\nindex fa0cf727e..523aee0bf 100644\n--- a/examples/vhost_scsi/Makefile\n+++ b/examples/vhost_scsi/Makefile\n@@ -18,7 +18,7 @@ shared: build/$(APP)-shared\n static: build/$(APP)-static\n \tln -sf $(APP)-static build/$(APP)\n \n-CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64\n+CFLAGS += -D_FILE_OFFSET_BITS=64\n LDFLAGS += -pthread\n \n PC_FILE := $(shell pkg-config --path libdpdk)\n@@ -57,7 +57,7 @@ please change the definition of the RTE_TARGET environment variable)\n all:\n else\n \n-CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64\n+CFLAGS += -D_FILE_OFFSET_BITS=64\n CFLAGS += -O2\n CFLAGS += $(WERROR_FLAGS)\n \ndiff --git a/examples/vhost_scsi/meson.build b/examples/vhost_scsi/meson.build\nindex 5f92370f5..2303bcaed 100644\n--- a/examples/vhost_scsi/meson.build\n+++ b/examples/vhost_scsi/meson.build\n@@ -10,7 +10,7 @@ if host_machine.system() != 'linux'\n \tbuild = false\n endif\n deps += 'vhost'\n-cflags += ['-D_GNU_SOURCE','-D_FILE_OFFSET_BITS=64']\n+cflags += ['-D_FILE_OFFSET_BITS=64']\n sources = files(\n \t'scsi.c', 'vhost_scsi.c'\n )\ndiff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile\nindex ddae1cfde..c64142b8d 100644\n--- a/lib/librte_cmdline/Makefile\n+++ b/lib/librte_cmdline/Makefile\n@@ -25,7 +25,6 @@ SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_vt100.c\n SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_socket.c\n SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_portlist.c\n \n-CFLAGS += -D_GNU_SOURCE\n LDLIBS += -lrte_eal\n \n # install includes\ndiff --git a/lib/librte_cmdline/cmdline.c b/lib/librte_cmdline/cmdline.c\nindex 591b78b0f..d9042f048 100644\n--- a/lib/librte_cmdline/cmdline.c\n+++ b/lib/librte_cmdline/cmdline.c\n@@ -126,35 +126,11 @@ cmdline_printf(const struct cmdline *cl, const char *fmt, ...)\n \tif (!cl || !fmt)\n \t\treturn;\n \n-#ifdef _GNU_SOURCE\n \tif (cl->s_out < 0)\n \t\treturn;\n \tva_start(ap, fmt);\n \tvdprintf(cl->s_out, fmt, ap);\n \tva_end(ap);\n-#else\n-\tint ret;\n-\tchar *buf;\n-\n-\tif (cl->s_out < 0)\n-\t\treturn;\n-\n-\tbuf = malloc(BUFSIZ);\n-\tif (buf == NULL)\n-\t\treturn;\n-\tva_start(ap, fmt);\n-\tret = vsnprintf(buf, BUFSIZ, fmt, ap);\n-\tva_end(ap);\n-\tif (ret < 0) {\n-\t\tfree(buf);\n-\t\treturn;\n-\t}\n-\tif (ret >= BUFSIZ)\n-\t\tret = BUFSIZ - 1;\n-\tret = write(cl->s_out, buf, ret);\n-\t(void)ret;\n-\tfree(buf);\n-#endif\n }\n \n int\ndiff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile\nindex d27da3d15..7c8e00a2e 100644\n--- a/lib/librte_eal/bsdapp/eal/Makefile\n+++ b/lib/librte_eal/bsdapp/eal/Makefile\n@@ -77,11 +77,6 @@ SRCS-y += rte_cycles.c\n \n CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)\n \n-CFLAGS_eal.o := -D_GNU_SOURCE\n-#CFLAGS_eal_thread.o := -D_GNU_SOURCE\n-CFLAGS_eal_log.o := -D_GNU_SOURCE\n-CFLAGS_eal_common_log.o := -D_GNU_SOURCE\n-\n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\n ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)\ndiff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile\nindex fd92c75c2..bfee453bc 100644\n--- a/lib/librte_eal/linuxapp/eal/Makefile\n+++ b/lib/librte_eal/linuxapp/eal/Makefile\n@@ -85,22 +85,6 @@ SRCS-y += rte_cycles.c\n \n CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)\n \n-CFLAGS_eal.o := -D_GNU_SOURCE\n-CFLAGS_eal_interrupts.o := -D_GNU_SOURCE\n-CFLAGS_eal_vfio_mp_sync.o := -D_GNU_SOURCE\n-CFLAGS_eal_timer.o := -D_GNU_SOURCE\n-CFLAGS_eal_lcore.o := -D_GNU_SOURCE\n-CFLAGS_eal_memalloc.o := -D_GNU_SOURCE\n-CFLAGS_eal_thread.o := -D_GNU_SOURCE\n-CFLAGS_eal_log.o := -D_GNU_SOURCE\n-CFLAGS_eal_common_log.o := -D_GNU_SOURCE\n-CFLAGS_eal_hugepage_info.o := -D_GNU_SOURCE\n-CFLAGS_eal_common_whitelist.o := -D_GNU_SOURCE\n-CFLAGS_eal_common_options.o := -D_GNU_SOURCE\n-CFLAGS_eal_common_thread.o := -D_GNU_SOURCE\n-CFLAGS_eal_common_lcore.o := -D_GNU_SOURCE\n-CFLAGS_rte_cycles.o := -D_GNU_SOURCE\n-\n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\n ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)\ndiff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build\nindex e1fde15d1..f68c6733c 100644\n--- a/lib/librte_eal/meson.build\n+++ b/lib/librte_eal/meson.build\n@@ -25,7 +25,6 @@ version = 8  # the version of the EAL API\n allow_experimental_apis = true\n deps += 'compat'\n deps += 'kvargs'\n-cflags += '-D_GNU_SOURCE'\n sources = common_sources + env_sources\n objs = common_objs + env_objs\n headers = common_headers + env_headers\ndiff --git a/lib/librte_pdump/Makefile b/lib/librte_pdump/Makefile\nindex ee14dba7a..b241151dc 100644\n--- a/lib/librte_pdump/Makefile\n+++ b/lib/librte_pdump/Makefile\n@@ -8,7 +8,6 @@ LIB = librte_pdump.a\n \n CFLAGS += -DALLOW_EXPERIMENTAL_API\n CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3\n-CFLAGS += -D_GNU_SOURCE\n LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev\n \n EXPORT_MAP := rte_pdump_version.map\ndiff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile\nindex 55d9c6989..46c53ed71 100644\n--- a/lib/librte_sched/Makefile\n+++ b/lib/librte_sched/Makefile\n@@ -11,8 +11,6 @@ LIB = librte_sched.a\n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n \n-CFLAGS_rte_red.o := -D_GNU_SOURCE\n-\n LDLIBS += -lm\n LDLIBS += -lrt\n LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_net\ndiff --git a/lib/meson.build b/lib/meson.build\nindex 3acc67e6e..24351cc40 100644\n--- a/lib/meson.build\n+++ b/lib/meson.build\n@@ -32,6 +32,10 @@ if cc.has_argument('-Wno-format-truncation')\n endif\n \n enabled_libs = [] # used to print summary at the end\n+\n+# -D_GNU_SOURCE unconditionally\n+default_cflags += '-D_GNU_SOURCE'\n+\n foreach l:libraries\n \tbuild = true\n \tname = l\ndiff --git a/mk/target/generic/rte.vars.mk b/mk/target/generic/rte.vars.mk\nindex 98085cd31..dd149acc9 100644\n--- a/mk/target/generic/rte.vars.mk\n+++ b/mk/target/generic/rte.vars.mk\n@@ -108,6 +108,9 @@ CFLAGS += -include $(RTE_SDK_BIN)/include/rte_config.h\n LDFLAGS += -L$(RTE_SDK_BIN)/lib\n endif\n \n+# always define _GNU_SOURCE\n+CFLAGS += -D_GNU_SOURCE\n+\n export CFLAGS\n export LDFLAGS\n \ndiff --git a/test/test/Makefile b/test/test/Makefile\nindex dcea4410d..0b7b56ca2 100644\n--- a/test/test/Makefile\n+++ b/test/test/Makefile\n@@ -209,8 +209,6 @@ CFLAGS += -DALLOW_EXPERIMENTAL_API\n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n \n-CFLAGS += -D_GNU_SOURCE\n-\n LDLIBS += -lm\n ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y)\n ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)\ndiff --git a/test/test/meson.build b/test/test/meson.build\nindex bacb5b144..02ce75959 100644\n--- a/test/test/meson.build\n+++ b/test/test/meson.build\n@@ -251,6 +251,9 @@ if cc.has_argument('-Wno-format-truncation')\n     cflags += '-Wno-format-truncation'\n endif\n \n+# specify -D_GNU_SOURCE unconditionally\n+default_cflags += '-D_GNU_SOURCE'\n+\n test_dep_objs = []\n compress_test_dep = dependency('zlib', required: false)\n if compress_test_dep.found()\n",
    "prefixes": [
        "v3",
        "1/7"
    ]
}