Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.0/patches/3996/?format=api
http://patchwork.dpdk.org/api/1.0/patches/3996/?format=api", "project": { "id": 1, "url": "http://patchwork.dpdk.org/api/1.0/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" }, "msgid": "<1426177681-16931-5-git-send-email-sergio.gonzalez.monroy@intel.com>", "date": "2015-03-12T16:28:01", "name": "[dpdk-dev,v2,4/4] mk: update LDLIBS for app building", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "f35284f4f10a6e47605dd7625fc5c1658bd3144c", "submitter": { "id": 73, "url": "http://patchwork.dpdk.org/api/1.0/people/73/?format=api", "name": "Sergio Gonzalez Monroy", "email": "sergio.gonzalez.monroy@intel.com" }, "delegate": null, "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1426177681-16931-5-git-send-email-sergio.gonzalez.monroy@intel.com/mbox/", "series": [], "check": "pending", "checks": "http://patchwork.dpdk.org/api/patches/3996/checks/", "tags": {}, "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 [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 7A1B37F1C;\n\tThu, 12 Mar 2015 17:28:15 +0100 (CET)", "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby dpdk.org (Postfix) with ESMTP id CA00A593A\n\tfor <dev@dpdk.org>; Thu, 12 Mar 2015 17:28:11 +0100 (CET)", "from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby orsmga102.jf.intel.com with ESMTP; 12 Mar 2015 09:26:20 -0700", "from irvmail001.ir.intel.com ([163.33.26.43])\n\tby fmsmga001.fm.intel.com with ESMTP; 12 Mar 2015 09:28:09 -0700", "from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com\n\t[10.237.217.46])\n\tby irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id\n\tt2CGS8xG027450; Thu, 12 Mar 2015 16:28:08 GMT", "from sivswdev02.ir.intel.com (localhost [127.0.0.1])\n\tby sivswdev02.ir.intel.com with ESMTP id t2CGS7gR016996;\n\tThu, 12 Mar 2015 16:28:07 GMT", "(from smonroy@localhost)\n\tby sivswdev02.ir.intel.com with id t2CGS7ZZ016992;\n\tThu, 12 Mar 2015 16:28:07 GMT" ], "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.11,389,1422950400\"; d=\"scan'208\";a=\"679215176\"", "From": "Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>", "To": "dev@dpdk.org", "Date": "Thu, 12 Mar 2015 16:28:01 +0000", "Message-Id": "<1426177681-16931-5-git-send-email-sergio.gonzalez.monroy@intel.com>", "X-Mailer": "git-send-email 1.8.5.4", "In-Reply-To": "<1426177681-16931-1-git-send-email-sergio.gonzalez.monroy@intel.com>", "References": "<1422544811-26385-1-git-send-email-sergio.gonzalez.monroy@intel.com>\n\t<1426177681-16931-1-git-send-email-sergio.gonzalez.monroy@intel.com>", "Subject": "[dpdk-dev] [PATCH v2 4/4] mk: update LDLIBS for app building", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "patches and discussions about DPDK <dev.dpdk.org>", "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://dpdk.org/ml/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Given the circular dependencies between eal, malloc, mempool and ring\nlibraries and that eal does not have proper DT_NEEDED entries, we work\naround it by forcing linking against mentioned libraries by preceding\nthem with --no-as-needed flag when building shared libraries.\n\nThis patch also does:\n - Set --start-group/--end-group and --whole-archive/--no-whole-archive\n flags only when linking against static DPDK libs.\n - Set --as-needed for all libraries but eal, malloc, mempool and\n ring when linking against shared DPDK libs.\n - Link against EXECENV_LIBS always with --as-needed flag.\n\nSigned-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>\n---\n lib/librte_jobstats/Makefile | 2 ++\n lib/librte_pmd_fm10k/Makefile | 2 ++\n lib/librte_pmd_mlx4/Makefile | 2 ++\n lib/librte_pmd_null/Makefile | 2 ++\n lib/librte_reorder/Makefile | 2 ++\n mk/rte.app.mk | 57 +++++++++++++++++++++++--------------------\n 6 files changed, 40 insertions(+), 27 deletions(-)", "diff": "diff --git a/lib/librte_jobstats/Makefile b/lib/librte_jobstats/Makefile\nindex 136a448..04589d4 100644\n--- a/lib/librte_jobstats/Makefile\n+++ b/lib/librte_jobstats/Makefile\n@@ -41,6 +41,8 @@ EXPORT_MAP := rte_jobstats_version.map\n \n LIBABIVER := 1\n \n+LDLIBS += -lrte_eal\n+\n # all source are stored in SRCS-y\n SRCS-$(CONFIG_RTE_LIBRTE_JOBSTATS) := rte_jobstats.c\n \ndiff --git a/lib/librte_pmd_fm10k/Makefile b/lib/librte_pmd_fm10k/Makefile\nindex 998bf23..618235a 100644\n--- a/lib/librte_pmd_fm10k/Makefile\n+++ b/lib/librte_pmd_fm10k/Makefile\n@@ -79,6 +79,8 @@ $(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER))\n \n VPATH += $(RTE_SDK)/lib/librte_pmd_fm10k/base\n \n+LDLIBS += -lrte_eal -lrte_malloc -lethdev\n+\n #\n # all source are stored in SRCS-y\n #\ndiff --git a/lib/librte_pmd_mlx4/Makefile b/lib/librte_pmd_mlx4/Makefile\nindex 6666813..9193f05 100644\n--- a/lib/librte_pmd_mlx4/Makefile\n+++ b/lib/librte_pmd_mlx4/Makefile\n@@ -58,6 +58,8 @@ CFLAGS += -Wno-error=cast-qual\n EXPORT_MAP := rte_pmd_mlx4_version.map\n LIBABIVER := 1\n \n+LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_malloc -lethdev -libverbs\n+\n # DEBUG which is usually provided on the command-line may enable\n # CONFIG_RTE_LIBRTE_MLX4_DEBUG.\n ifeq ($(DEBUG),1)\ndiff --git a/lib/librte_pmd_null/Makefile b/lib/librte_pmd_null/Makefile\nindex 6472015..c9bf1fd 100644\n--- a/lib/librte_pmd_null/Makefile\n+++ b/lib/librte_pmd_null/Makefile\n@@ -43,6 +43,8 @@ EXPORT_MAP := rte_pmd_null_version.map\n \n LIBABIVER := 1\n \n+LDLIBS += -lrte_eal -lrte_malloc -lethdev -lrte_kvargs\n+\n #\n # all source are stored in SRCS-y\n #\ndiff --git a/lib/librte_reorder/Makefile b/lib/librte_reorder/Makefile\nindex 0c01de1..2c8f774 100644\n--- a/lib/librte_reorder/Makefile\n+++ b/lib/librte_reorder/Makefile\n@@ -41,6 +41,8 @@ EXPORT_MAP := rte_reorder_version.map\n \n LIBABIVER := 1\n \n+LDLIBS += -lrte_eal -lrte_malloc\n+\n # all source are stored in SRCS-y\n SRCS-$(CONFIG_RTE_LIBRTE_REORDER) := rte_reorder.c\n \ndiff --git a/mk/rte.app.mk b/mk/rte.app.mk\nindex e2baa49..7e225fd 100644\n--- a/mk/rte.app.mk\n+++ b/mk/rte.app.mk\n@@ -59,7 +59,30 @@ LDLIBS += -L$(RTE_SDK_BIN)/lib\n #\n ifeq ($(NO_AUTOLIBS),)\n \n-LDLIBS += --whole-archive\n+LDLIBS += --no-as-needed\n+ifneq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)\n+LDLIBS += --start-group\n+endif\n+\n+ifeq ($(CONFIG_RTE_LIBRTE_EAL),y)\n+LDLIBS += -lrte_eal\n+endif\n+\n+ifeq ($(CONFIG_RTE_LIBRTE_MALLOC),y)\n+LDLIBS += -lrte_malloc\n+endif\n+\n+ifeq ($(CONFIG_RTE_LIBRTE_MEMPOOL),y)\n+LDLIBS += -lrte_mempool\n+endif\n+\n+ifeq ($(CONFIG_RTE_LIBRTE_RING),y)\n+LDLIBS += -lrte_ring\n+endif\n+\n+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)\n+LDLIBS += --as-needed\n+endif\n \n ifeq ($(CONFIG_RTE_LIBRTE_DISTRIBUTOR),y)\n LDLIBS += -lrte_distributor\n@@ -127,15 +150,12 @@ LDLIBS += -lm\n LDLIBS += -lrt\n endif\n \n-ifeq ($(CONFIG_RTE_LIBRTE_VHOST), y)\n-LDLIBS += -lrte_vhost\n-endif\n-\n ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)\n LDLIBS += -lpcap\n endif\n \n ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y)\n+LDLIBS += -lrte_vhost\n LDLIBS += -lfuse\n endif\n \n@@ -143,8 +163,6 @@ ifeq ($(CONFIG_RTE_LIBRTE_MLX4_PMD),y)\n LDLIBS += -libverbs\n endif\n \n-LDLIBS += --start-group\n-\n ifeq ($(CONFIG_RTE_LIBRTE_KVARGS),y)\n LDLIBS += -lrte_kvargs\n endif\n@@ -161,22 +179,6 @@ ifeq ($(CONFIG_RTE_LIBRTE_ETHER),y)\n LDLIBS += -lethdev\n endif\n \n-ifeq ($(CONFIG_RTE_LIBRTE_MALLOC),y)\n-LDLIBS += -lrte_malloc\n-endif\n-\n-ifeq ($(CONFIG_RTE_LIBRTE_MEMPOOL),y)\n-LDLIBS += -lrte_mempool\n-endif\n-\n-ifeq ($(CONFIG_RTE_LIBRTE_RING),y)\n-LDLIBS += -lrte_ring\n-endif\n-\n-ifeq ($(CONFIG_RTE_LIBRTE_EAL),y)\n-LDLIBS += -lrte_eal\n-endif\n-\n ifeq ($(CONFIG_RTE_LIBRTE_CMDLINE),y)\n LDLIBS += -lrte_cmdline\n endif\n@@ -196,6 +198,7 @@ endif\n \n ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)\n # plugins (link only if static libraries)\n+LDLIBS += --whole-archive\n \n ifeq ($(CONFIG_RTE_LIBRTE_VMXNET3_PMD),y)\n LDLIBS += -lrte_pmd_vmxnet3_uio\n@@ -241,14 +244,14 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_AF_PACKET),y)\n LDLIBS += -lrte_pmd_af_packet\n endif\n \n+LDLIBS += --no-whole-archive\n+LDLIBS += --end-group\n+LDLIBS += --as-needed\n+\n endif # plugins\n \n LDLIBS += $(EXECENV_LDLIBS)\n \n-LDLIBS += --end-group\n-\n-LDLIBS += --no-whole-archive\n-\n endif # ifeq ($(NO_AUTOLIBS),)\n \n LDLIBS += $(CPU_LDLIBS)\n", "prefixes": [ "dpdk-dev", "v2", "4/4" ] }{ "id": 3996, "url": "