Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/4262/?format=api
https://patches.dpdk.org/api/patches/4262/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/1428505645-5578-3-git-send-email-sergio.gonzalez.monroy@intel.com/", "project": { "id": 1, "url": "https://patches.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": "<1428505645-5578-3-git-send-email-sergio.gonzalez.monroy@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1428505645-5578-3-git-send-email-sergio.gonzalez.monroy@intel.com", "date": "2015-04-08T15:07:22", "name": "[dpdk-dev,v3,2/5] mk: always generate combined lib linker script", "commit_ref": null, "pull_url": null, "state": "rejected", "archived": true, "hash": "d7b736ba2861ec84127f6398906fa4d45259e1e3", "submitter": { "id": 73, "url": "https://patches.dpdk.org/api/people/73/?format=api", "name": "Sergio Gonzalez Monroy", "email": "sergio.gonzalez.monroy@intel.com" }, "delegate": null, "mbox": "https://patches.dpdk.org/project/dpdk/patch/1428505645-5578-3-git-send-email-sergio.gonzalez.monroy@intel.com/mbox/", "series": [], "comments": "https://patches.dpdk.org/api/patches/4262/comments/", "check": "pending", "checks": "https://patches.dpdk.org/api/patches/4262/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 [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 7A50A5A9F;\n\tWed, 8 Apr 2015 17:07:52 +0200 (CEST)", "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby dpdk.org (Postfix) with ESMTP id 86FC5377A\n\tfor <dev@dpdk.org>; Wed, 8 Apr 2015 17:07:50 +0200 (CEST)", "from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby orsmga103.jf.intel.com with ESMTP; 08 Apr 2015 08:07:28 -0700", "from irvmail001.ir.intel.com ([163.33.26.43])\n\tby FMSMGA003.fm.intel.com with ESMTP; 08 Apr 2015 08:07:27 -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\tt38F7QUt016606 for <dev@dpdk.org>; Wed, 8 Apr 2015 16:07:26 +0100", "from sivswdev02.ir.intel.com (localhost [127.0.0.1])\n\tby sivswdev02.ir.intel.com with ESMTP id t38F7Q9S005630\n\tfor <dev@dpdk.org>; Wed, 8 Apr 2015 16:07:26 +0100", "(from smonroy@localhost)\n\tby sivswdev02.ir.intel.com with id t38F7QD7005626\n\tfor dev@dpdk.org; Wed, 8 Apr 2015 16:07:26 +0100" ], "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.11,545,1422950400\"; d=\"scan'208\";a=\"478376137\"", "From": "Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>", "To": "dev@dpdk.org", "Date": "Wed, 8 Apr 2015 16:07:22 +0100", "Message-Id": "<1428505645-5578-3-git-send-email-sergio.gonzalez.monroy@intel.com>", "X-Mailer": "git-send-email 1.8.5.4", "In-Reply-To": "<1428505645-5578-1-git-send-email-sergio.gonzalez.monroy@intel.com>", "References": "<1428505645-5578-1-git-send-email-sergio.gonzalez.monroy@intel.com>", "Subject": "[dpdk-dev] [PATCH v3 2/5] mk: always generate combined lib linker\n\tscript", "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": "After the patch, building DPDK will always generate a linker script\n(name use is based on CONFIG_RTE_LIBNAME config option) that behaves\nas a combined library when linking against it.\n\nSigned-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>\n---\n mk/rte.combinedlib.mk | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++\n mk/rte.sdkbuild.mk | 3 ++\n 2 files changed, 92 insertions(+)\n create mode 100644 mk/rte.combinedlib.mk", "diff": "diff --git a/mk/rte.combinedlib.mk b/mk/rte.combinedlib.mk\nnew file mode 100644\nindex 0000000..46d6ee9\n--- /dev/null\n+++ b/mk/rte.combinedlib.mk\n@@ -0,0 +1,89 @@\n+# BSD LICENSE\n+#\n+# Copyright(c) 2010-2015 Intel Corporation. All rights reserved.\n+# All rights reserved.\n+#\n+# Redistribution and use in source and binary forms, with or without\n+# modification, are permitted provided that the following conditions\n+# are met:\n+#\n+# * Redistributions of source code must retain the above copyright\n+# notice, this list of conditions and the following disclaimer.\n+# * Redistributions in binary form must reproduce the above copyright\n+# notice, this list of conditions and the following disclaimer in\n+# the documentation and/or other materials provided with the\n+# distribution.\n+# * Neither the name of Intel Corporation nor the names of its\n+# contributors may be used to endorse or promote products derived\n+# from this software without specific prior written permission.\n+#\n+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+# \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+include $(RTE_SDK)/mk/rte.vars.mk\n+\n+default: all\n+\n+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)\n+EXT:=.so\n+else\n+EXT:=.a\n+endif\n+\n+COMBINEDLIB := lib$(RTE_LIBNAME).so\n+\n+CORE_LIBS := librte_eal librte_mempool librte_malloc librte_ring\n+CORE_LIBS := $(addsuffix $(EXT),$(CORE_LIBS))\n+\n+ALL_LIBS := $(wildcard $(RTE_OUTPUT)/lib/*$(EXT))\n+ALL_LIBS := $(filter-out $(CORE_LIBS),$(notdir $(ALL_LIBS)))\n+\n+# If we change the combined lib name and we build dpdk without doing\n+# 'make uninstall', the previous linker script would be present in the dir.\n+filter_type = $(if $(shell file $(lib) | grep \"ASCII text\"),,$(lib))\n+LIBS := $(foreach lib,$(ALL_LIBS),$(filter_type))\n+\n+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)\n+LDSCRIPT = INPUT (\n+else\n+LDSCRIPT = GROUP (\n+endif\n+\n+LDSCRIPT += $(CORE_LIBS)\n+\n+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)\n+LDSCRIPT += AS_NEEDED (\n+endif\n+\n+# For shared libs we do not care if we link against PMDs here,\n+# they will be ignored (ie. after AS_NEEDED) as there are no direct\n+# references to them\n+LDSCRIPT += $(LIBS)\n+\n+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)\n+LDSCRIPT += )\n+endif\n+\n+LDSCRIPT += )\n+\n+all: FORCE\n+\t$(Q)echo \"$(LDSCRIPT)\" > $(RTE_OUTPUT)/lib/$(COMBINEDLIB)\n+\n+#\n+# Clean all generated files\n+#\n+.PHONY: clean\n+clean:\n+\t$(Q)rm -f $(RTE_OUTPUT)/lib/$(COMBINEDLIB)\n+\n+.PHONY: FORCE\n+FORCE:\ndiff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk\nindex 2b24e74..625e0c4 100644\n--- a/mk/rte.sdkbuild.mk\n+++ b/mk/rte.sdkbuild.mk\n@@ -93,6 +93,9 @@ $(ROOTDIRS-y):\n \t@[ -d $(BUILDDIR)/$@ ] || mkdir -p $(BUILDDIR)/$@\n \t@echo \"== Build $@\"\n \t$(Q)$(MAKE) S=$@ -f $(RTE_SRCDIR)/$@/Makefile -C $(BUILDDIR)/$@ all\n+\t@if [ $@ = lib ]; then \\\n+\t\t$(MAKE) -f $(RTE_SDK)/mk/rte.combinedlib.mk; \\\n+\tfi\n \n %_clean:\n \t@echo \"== Clean $*\"\n", "prefixes": [ "dpdk-dev", "v3", "2/5" ] }{ "id": 4262, "url": "