List cover comments

GET /api/covers/52597/comments/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Link: 
<http://patches.dpdk.org/api/covers/52597/comments/?format=api&page=1>; rel="first",
<http://patches.dpdk.org/api/covers/52597/comments/?format=api&page=1>; rel="last"
Vary: Accept
[ { "id": 96457, "web_url": "http://patches.dpdk.org/comment/96457/", "msgid": "<CAJFAV8ysd541icrJGsPXf=eSLsaiNAy3v2KVpMRoj9==Vsrdvg@mail.gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/CAJFAV8ysd541icrJGsPXf=eSLsaiNAy3v2KVpMRoj9==Vsrdvg@mail.gmail.com", "date": "2019-05-27T14:13:53", "subject": "Re: [dpdk-dev] [PATCH 0/2] remove use of weak functions from\n\tlibraries", "submitter": { "id": 1173, "url": "http://patches.dpdk.org/api/people/1173/?format=api", "name": "David Marchand", "email": "david.marchand@redhat.com" }, "content": "Hello,\n\nOn Wed, Apr 10, 2019 at 3:45 PM Bruce Richardson <bruce.richardson@intel.com>\nwrote:\n\n> Weak functions don't work well with static library builds as the linker\n> always picks the first version of a function irrespective of whether it is\n> weak or not. The solution to this is to use the \"whole-archive\" flag when\n> linking, but this has the nasty side-effect that it causes the resulting\n> binary to be larger than it needs to be.\n>\n>\n> A further problem with this approach of using \"whole-archive\" is that one\n> either needs to link all libraries with this flag or track what libraries\n> need it or not - the latter being especially a problem for apps not using\n> the DPDK build system itself (i.e. most apps not shipped with DPDK itself).\n> For meson builds this information needs to make its way all the way through\n> to the pkgconfig file generated - not a trivial undertaking.\n>\n> Thankfully, though, the use of weak functions is limited to use for\n> multiple functions within a single library, meaning that when the lib is\n> being built, the build system itself can know whether the \"weak\" function\n> is needed or not. This allows us to change the weak function to a\n> conditionally compiled regular function used in fallback case. This makes\n> the need for \"whole-archive\" flag, and any special linking measures for the\n> library, go away.\n>\n> [This set does not touch the drivers, only the libraries, since there are\n> other special linker flags needed for drivers in general, making the\n> problem less severe for driver .a files.]\n>\n>\nWas there something preventing this patchset from getting merged ?", "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 15A6A137D;\n\tMon, 27 May 2019 16:14:07 +0200 (CEST)", "from mail-vk1-f193.google.com (mail-vk1-f193.google.com\n\t[209.85.221.193]) by dpdk.org (Postfix) with ESMTP id 761CFA49\n\tfor <dev@dpdk.org>; Mon, 27 May 2019 16:14:05 +0200 (CEST)", "by mail-vk1-f193.google.com with SMTP id j4so3846622vke.11\n\tfor <dev@dpdk.org>; Mon, 27 May 2019 07:14:05 -0700 (PDT)" ], "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=4RcfkntiZmP3mlsJMBsshaC/rQ+B2rIi8kc5T8XtMNk=;\n\tb=d6uhqAe5atpa7tFfHJ9PjJcIFe7fURsaPDOqTyjKcvNiwOd8643kW2upDoRiCrHYB3\n\t/248L/Ain+Wf+C5yAOvt58PIFyDTtir3uTnArj4GMM5MUZxgKTewbG/XVUtRfaGSLwLl\n\tk5ZHuTL5Xnc20i4HqAkfDqQcaIRiFp60AJAdCMvpMXKc1EdqH3oV71+9+rMuyV+8bChb\n\tZR8M2K42kR+mPI9UdiIpZ8Yc94NHRRIk8xT19LIGnAo3S1O/FxW+afynYRBKkFrn2G0q\n\tpy8y+fvX/63vD70ThOVnxW8KMaR3X8T92xaEyXlFr6bzgzeY441UK/ssBrIknZgXxJEx\n\tbIqQ==", "X-Gm-Message-State": "APjAAAVnTYXwFqjLDB0RJGQ1Cvi0zenmHYI+eDVsd13cfhdvIgQLVhL3\n\ti+kvd50eJPMTnF3yu7YXF7S2vaMeaGXEp+eKfxx8Sw==", "X-Google-Smtp-Source": "APXvYqwHxGBu5T7NQUAOH8jSuijqRO5s772Od5P7NQ1t9ZYv79HCdxkoor7onpgLYjiGn9i6qt4zu209OZ41axEEl9Q=", "X-Received": "by 2002:a1f:43d3:: with SMTP id\n\tq202mr19270699vka.85.1558966444794; \n\tMon, 27 May 2019 07:14:04 -0700 (PDT)", "MIME-Version": "1.0", "References": "<20190410134517.63896-1-bruce.richardson@intel.com>", "In-Reply-To": "<20190410134517.63896-1-bruce.richardson@intel.com>", "From": "David Marchand <david.marchand@redhat.com>", "Date": "Mon, 27 May 2019 16:13:53 +0200", "Message-ID": "<CAJFAV8ysd541icrJGsPXf=eSLsaiNAy3v2KVpMRoj9==Vsrdvg@mail.gmail.com>", "To": "Bruce Richardson <bruce.richardson@intel.com>", "Cc": "\"Ananyev, Konstantin\" <konstantin.ananyev@intel.com>,\n\tAaron Conole <aconole@redhat.com>, dev <dev@dpdk.org>", "Content-Type": "text/plain; charset=\"UTF-8\"", "X-Content-Filtered-By": "Mailman/MimeDel 2.1.15", "Subject": "Re: [dpdk-dev] [PATCH 0/2] remove use of weak functions from\n\tlibraries", "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>" }, "addressed": null }, { "id": 96461, "web_url": "http://patches.dpdk.org/comment/96461/", "msgid": "<20190527154121.GA429@bricha3-MOBL.ger.corp.intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20190527154121.GA429@bricha3-MOBL.ger.corp.intel.com", "date": "2019-05-27T15:41:21", "subject": "Re: [dpdk-dev] [PATCH 0/2] remove use of weak functions from\n\tlibraries", "submitter": { "id": 20, "url": "http://patches.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "content": "On Mon, May 27, 2019 at 04:13:53PM +0200, David Marchand wrote:\n> Hello,\n> On Wed, Apr 10, 2019 at 3:45 PM Bruce Richardson\n> <[1]bruce.richardson@intel.com> wrote:\n> \n> Weak functions don't work well with static library builds as the\n> linker\n> always picks the first version of a function irrespective of whether\n> it is\n> weak or not. The solution to this is to use the \"whole-archive\" flag\n> when\n> linking, but this has the nasty side-effect that it causes the\n> resulting\n> binary to be larger than it needs to be.\n> A further problem with this approach of using \"whole-archive\" is\n> that one\n> either needs to link all libraries with this flag or track what\n> libraries\n> need it or not - the latter being especially a problem for apps not\n> using\n> the DPDK build system itself (i.e. most apps not shipped with DPDK\n> itself).\n> For meson builds this information needs to make its way all the way\n> through\n> to the pkgconfig file generated - not a trivial undertaking.\n> Thankfully, though, the use of weak functions is limited to use for\n> multiple functions within a single library, meaning that when the\n> lib is\n> being built, the build system itself can know whether the \"weak\"\n> function\n> is needed or not. This allows us to change the weak function to a\n> conditionally compiled regular function used in fallback case. This\n> makes\n> the need for \"whole-archive\" flag, and any special linking measures\n> for the\n> library, go away.\n> [This set does not touch the drivers, only the libraries, since\n> there are\n> other special linker flags needed for drivers in general, making the\n> problem less severe for driver .a files.]\n> \n> Was there something preventing this patchset from getting merged ?\n> --\n> David Marchand\n> \nI believe Aaron Conole had some changes in the same area and was looking to\nroll these changes into a bigger patchset of his. Aaron, can you please\nconfirm?\n\n/Bruce", "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 9A40DA49;\n\tMon, 27 May 2019 17:41:26 +0200 (CEST)", "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n\tby dpdk.org (Postfix) with ESMTP id 97BA79E4\n\tfor <dev@dpdk.org>; Mon, 27 May 2019 17:41:25 +0200 (CEST)", "from fmsmga004.fm.intel.com ([10.253.24.48])\n\tby orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t27 May 2019 08:41:24 -0700", "from bricha3-mobl.ger.corp.intel.com ([10.237.221.64])\n\tby fmsmga004.fm.intel.com with SMTP; 27 May 2019 08:41:22 -0700", "by (sSMTP sendmail emulation); Mon, 27 May 2019 16:41:21 +0100" ], "X-Amp-Result": "UNSCANNABLE", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "Date": "Mon, 27 May 2019 16:41:21 +0100", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "David Marchand <david.marchand@redhat.com>", "Cc": "\"Ananyev, Konstantin\" <konstantin.ananyev@intel.com>,\n\tAaron Conole <aconole@redhat.com>, dev <dev@dpdk.org>", "Message-ID": "<20190527154121.GA429@bricha3-MOBL.ger.corp.intel.com>", "References": "<20190410134517.63896-1-bruce.richardson@intel.com>\n\t<CAJFAV8ysd541icrJGsPXf=eSLsaiNAy3v2KVpMRoj9==Vsrdvg@mail.gmail.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=us-ascii", "Content-Disposition": "inline", "In-Reply-To": "<CAJFAV8ysd541icrJGsPXf=eSLsaiNAy3v2KVpMRoj9==Vsrdvg@mail.gmail.com>", "User-Agent": "Mutt/1.11.4 (2019-03-13)", "Subject": "Re: [dpdk-dev] [PATCH 0/2] remove use of weak functions from\n\tlibraries", "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>" }, "addressed": null }, { "id": 96470, "web_url": "http://patches.dpdk.org/comment/96470/", "msgid": "<f7t7eab1uqc.fsf@dhcp-25.97.bos.redhat.com>", "list_archive_url": "https://inbox.dpdk.org/dev/f7t7eab1uqc.fsf@dhcp-25.97.bos.redhat.com", "date": "2019-05-27T20:57:15", "subject": "Re: [dpdk-dev] [PATCH 0/2] remove use of weak functions from\n\tlibraries", "submitter": { "id": 332, "url": "http://patches.dpdk.org/api/people/332/?format=api", "name": "Aaron Conole", "email": "aconole@redhat.com" }, "content": "Bruce Richardson <bruce.richardson@intel.com> writes:\n\n> On Mon, May 27, 2019 at 04:13:53PM +0200, David Marchand wrote:\n>> Hello,\n>> On Wed, Apr 10, 2019 at 3:45 PM Bruce Richardson\n>> <[1]bruce.richardson@intel.com> wrote:\n>> \n>> Weak functions don't work well with static library builds as the\n>> linker\n>> always picks the first version of a function irrespective of whether\n>> it is\n>> weak or not. The solution to this is to use the \"whole-archive\" flag\n>> when\n>> linking, but this has the nasty side-effect that it causes the\n>> resulting\n>> binary to be larger than it needs to be.\n>> A further problem with this approach of using \"whole-archive\" is\n>> that one\n>> either needs to link all libraries with this flag or track what\n>> libraries\n>> need it or not - the latter being especially a problem for apps not\n>> using\n>> the DPDK build system itself (i.e. most apps not shipped with DPDK\n>> itself).\n>> For meson builds this information needs to make its way all the way\n>> through\n>> to the pkgconfig file generated - not a trivial undertaking.\n>> Thankfully, though, the use of weak functions is limited to use for\n>> multiple functions within a single library, meaning that when the\n>> lib is\n>> being built, the build system itself can know whether the \"weak\"\n>> function\n>> is needed or not. This allows us to change the weak function to a\n>> conditionally compiled regular function used in fallback case. This\n>> makes\n>> the need for \"whole-archive\" flag, and any special linking measures\n>> for the\n>> library, go away.\n>> [This set does not touch the drivers, only the libraries, since\n>> there are\n>> other special linker flags needed for drivers in general, making the\n>> problem less severe for driver .a files.]\n>> \n>> Was there something preventing this patchset from getting merged ?\n>> --\n>> David Marchand\n>> \n> I believe Aaron Conole had some changes in the same area and was looking to\n> roll these changes into a bigger patchset of his. Aaron, can you please\n> confirm?\n\nYes - Sorry the patches are in my queue. Maybe it just makes sense to\nmerge these though?\n\n> /Bruce", "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 D13E43DC;\n\tMon, 27 May 2019 22:57:22 +0200 (CEST)", "from mx1.redhat.com (mx1.redhat.com [209.132.183.28])\n\tby dpdk.org (Postfix) with ESMTP id 6706CA3\n\tfor <dev@dpdk.org>; Mon, 27 May 2019 22:57:21 +0200 (CEST)", "from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 43E2AC057F3E;\n\tMon, 27 May 2019 20:57:20 +0000 (UTC)", "from dhcp-25.97.bos.redhat.com (ovpn-120-176.rdu2.redhat.com\n\t[10.10.120.176])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id C10DB608A4;\n\tMon, 27 May 2019 20:57:16 +0000 (UTC)" ], "From": "Aaron Conole <aconole@redhat.com>", "To": "Bruce Richardson <bruce.richardson@intel.com>", "Cc": "David Marchand <david.marchand@redhat.com>, \"Ananyev\\,\n\tKonstantin\" <konstantin.ananyev@intel.com>, dev <dev@dpdk.org>", "References": "<20190410134517.63896-1-bruce.richardson@intel.com>\n\t<CAJFAV8ysd541icrJGsPXf=eSLsaiNAy3v2KVpMRoj9==Vsrdvg@mail.gmail.com>\n\t<20190527154121.GA429@bricha3-MOBL.ger.corp.intel.com>", "Date": "Mon, 27 May 2019 16:57:15 -0400", "In-Reply-To": "<20190527154121.GA429@bricha3-MOBL.ger.corp.intel.com> (Bruce\n\tRichardson's message of \"Mon, 27 May 2019 16:41:21 +0100\")", "Message-ID": "<f7t7eab1uqc.fsf@dhcp-25.97.bos.redhat.com>", "User-Agent": "Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)", "MIME-Version": "1.0", "Content-Type": "text/plain", "X-Scanned-By": "MIMEDefang 2.79 on 10.5.11.13", "X-Greylist": "Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.32]); Mon, 27 May 2019 20:57:20 +0000 (UTC)", "Subject": "Re: [dpdk-dev] [PATCH 0/2] remove use of weak functions from\n\tlibraries", "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>" }, "addressed": null }, { "id": 96471, "web_url": "http://patches.dpdk.org/comment/96471/", "msgid": "<20190528080626.GA435@bricha3-MOBL.ger.corp.intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20190528080626.GA435@bricha3-MOBL.ger.corp.intel.com", "date": "2019-05-28T08:06:27", "subject": "Re: [dpdk-dev] [PATCH 0/2] remove use of weak functions from\n\tlibraries", "submitter": { "id": 20, "url": "http://patches.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "content": "On Mon, May 27, 2019 at 04:57:15PM -0400, Aaron Conole wrote:\n> Bruce Richardson <bruce.richardson@intel.com> writes:\n> \n> > On Mon, May 27, 2019 at 04:13:53PM +0200, David Marchand wrote:\n> >> Hello,\n> >> On Wed, Apr 10, 2019 at 3:45 PM Bruce Richardson\n> >> <[1]bruce.richardson@intel.com> wrote:\n> >> \n> >> Weak functions don't work well with static library builds as the\n> >> linker\n> >> always picks the first version of a function irrespective of whether\n> >> it is\n> >> weak or not. The solution to this is to use the \"whole-archive\" flag\n> >> when\n> >> linking, but this has the nasty side-effect that it causes the\n> >> resulting\n> >> binary to be larger than it needs to be.\n> >> A further problem with this approach of using \"whole-archive\" is\n> >> that one\n> >> either needs to link all libraries with this flag or track what\n> >> libraries\n> >> need it or not - the latter being especially a problem for apps not\n> >> using\n> >> the DPDK build system itself (i.e. most apps not shipped with DPDK\n> >> itself).\n> >> For meson builds this information needs to make its way all the way\n> >> through\n> >> to the pkgconfig file generated - not a trivial undertaking.\n> >> Thankfully, though, the use of weak functions is limited to use for\n> >> multiple functions within a single library, meaning that when the\n> >> lib is\n> >> being built, the build system itself can know whether the \"weak\"\n> >> function\n> >> is needed or not. This allows us to change the weak function to a\n> >> conditionally compiled regular function used in fallback case. This\n> >> makes\n> >> the need for \"whole-archive\" flag, and any special linking measures\n> >> for the\n> >> library, go away.\n> >> [This set does not touch the drivers, only the libraries, since\n> >> there are\n> >> other special linker flags needed for drivers in general, making the\n> >> problem less severe for driver .a files.]\n> >> \n> >> Was there something preventing this patchset from getting merged ?\n> >> --\n> >> David Marchand\n> >> \n> > I believe Aaron Conole had some changes in the same area and was looking to\n> > roll these changes into a bigger patchset of his. Aaron, can you please\n> > confirm?\n> \n> Yes - Sorry the patches are in my queue. Maybe it just makes sense to\n> merge these though?\n>\nFunnily enough, I've no objections to that :-)", "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 A4FA19E4;\n\tTue, 28 May 2019 10:06:33 +0200 (CEST)", "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby dpdk.org (Postfix) with ESMTP id 003771D7\n\tfor <dev@dpdk.org>; Tue, 28 May 2019 10:06:31 +0200 (CEST)", "from fmsmga008.fm.intel.com ([10.253.24.58])\n\tby orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t28 May 2019 01:06:30 -0700", "from bricha3-mobl.ger.corp.intel.com ([10.237.221.64])\n\tby fmsmga008.fm.intel.com with SMTP; 28 May 2019 01:06:28 -0700", "by (sSMTP sendmail emulation); Tue, 28 May 2019 09:06:27 +0100" ], "X-Amp-Result": "UNSCANNABLE", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "Date": "Tue, 28 May 2019 09:06:27 +0100", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "Aaron Conole <aconole@redhat.com>", "Cc": "David Marchand <david.marchand@redhat.com>,\n\t\"Ananyev, Konstantin\" <konstantin.ananyev@intel.com>, dev <dev@dpdk.org>", "Message-ID": "<20190528080626.GA435@bricha3-MOBL.ger.corp.intel.com>", "References": "<20190410134517.63896-1-bruce.richardson@intel.com>\n\t<CAJFAV8ysd541icrJGsPXf=eSLsaiNAy3v2KVpMRoj9==Vsrdvg@mail.gmail.com>\n\t<20190527154121.GA429@bricha3-MOBL.ger.corp.intel.com>\n\t<f7t7eab1uqc.fsf@dhcp-25.97.bos.redhat.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=us-ascii", "Content-Disposition": "inline", "In-Reply-To": "<f7t7eab1uqc.fsf@dhcp-25.97.bos.redhat.com>", "User-Agent": "Mutt/1.11.4 (2019-03-13)", "Subject": "Re: [dpdk-dev] [PATCH 0/2] remove use of weak functions from\n\tlibraries", "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>" }, "addressed": null }, { "id": 96781, "web_url": "http://patches.dpdk.org/comment/96781/", "msgid": "<1667240.nEyWy9ANPa@xps>", "list_archive_url": "https://inbox.dpdk.org/dev/1667240.nEyWy9ANPa@xps", "date": "2019-06-05T14:41:25", "subject": "Re: [dpdk-dev] [PATCH 0/2] remove use of weak functions from\n\tlibraries", "submitter": { "id": 685, "url": "http://patches.dpdk.org/api/people/685/?format=api", "name": "Thomas Monjalon", "email": "thomas@monjalon.net" }, "content": "10/04/2019 15:45, Bruce Richardson:\n> Weak functions don't work well with static library builds as the linker\n> always picks the first version of a function irrespective of whether it is\n> weak or not. The solution to this is to use the \"whole-archive\" flag when\n> linking, but this has the nasty side-effect that it causes the resulting\n> binary to be larger than it needs to be.\n> \n> \n> A further problem with this approach of using \"whole-archive\" is that one\n> either needs to link all libraries with this flag or track what libraries\n> need it or not - the latter being especially a problem for apps not using\n> the DPDK build system itself (i.e. most apps not shipped with DPDK itself).\n> For meson builds this information needs to make its way all the way through\n> to the pkgconfig file generated - not a trivial undertaking.\n> \n> Thankfully, though, the use of weak functions is limited to use for\n> multiple functions within a single library, meaning that when the lib is\n> being built, the build system itself can know whether the \"weak\" function\n> is needed or not. This allows us to change the weak function to a\n> conditionally compiled regular function used in fallback case. This makes\n> the need for \"whole-archive\" flag, and any special linking measures for the\n> library, go away.\n> \n> [This set does not touch the drivers, only the libraries, since there are\n> other special linker flags needed for drivers in general, making the\n> problem less severe for driver .a files.]\n> \n> Bruce Richardson (2):\n> acl: remove use of weak functions\n> bpf: remove use of weak functions\n\nApplied, thanks", "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 695CF1BAD7;\n\tWed, 5 Jun 2019 16:41:32 +0200 (CEST)", "from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com\n\t[64.147.123.24]) by dpdk.org (Postfix) with ESMTP id EA94A1BACA\n\tfor <dev@dpdk.org>; Wed, 5 Jun 2019 16:41:30 +0200 (CEST)", "from compute1.internal (compute1.nyi.internal [10.202.2.41])\n\tby mailout.west.internal (Postfix) with ESMTP id D87333E6;\n\tWed, 5 Jun 2019 10:41:28 -0400 (EDT)", "from mailfrontend2 ([10.202.2.163])\n\tby compute1.internal (MEProxy); Wed, 05 Jun 2019 10:41:29 -0400", "from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])\n\tby mail.messagingengine.com (Postfix) with ESMTPA id 25328380089;\n\tWed, 5 Jun 2019 10:41:27 -0400 (EDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n\tfrom:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding:content-type; s=mesmtp;\n\tbh=dH+NS3dVs2INPYwz5yp7EPGIrEnTV/uxlG/lPu837uM=; b=NNvVs/2GnLff\n\tZREAg3NlGxrTYyZFPYOJgptr09YeLwWdm1Q2mfhqTN9MX3VRIIlTIwymy7LYcEeo\n\tyDUOn1DQsCZ63TfcxjhZndGCYYYBNf5jSZZmcaXwMJ9bwcIzlFvAfXW8KS56G3Ls\n\tXb/wnt8Xa9fAB6CXIuzn9kvMNEEfvIM=", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:content-transfer-encoding:content-type\n\t:date:from:in-reply-to:message-id:mime-version:references\n\t:subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender\n\t:x-sasl-enc; s=fm2; bh=dH+NS3dVs2INPYwz5yp7EPGIrEnTV/uxlG/lPu837\n\tuM=; b=paIFiU3inwvP734Ain0qxkwFkR47HzXoCAyeB6uhHgDSoRbUz8IPJeGur\n\t0o4yGqY+gPHjVQQODo78JEs9BVASYE/OXFE3nJ1+nkts0qknWBp0GJ1Ze62w/U3J\n\t99pfmXVzAUnXYh0qMcrXTFM6Pez4foXjbL0kDXOTdsBG53bbgDjUir4WxyvGG2fS\n\tlzPNxYO1DBBzEUo+tEewCLETFbrrMmNIYlOo+5VdJ0/lp3wc6E7ys3I3l/+MzZrV\n\tPzllb2oKEot1+Dm7u6r1hjVfa4EgZ9eTqPUHo3y9SBPR10fLXGXEwSiu6mfp9Jvu\n\tSpwsl+41Nu/c/I+d6FrSvviXl829A==" ], "X-ME-Sender": "<xms:l9T3XMdWCo59_mpG9y4DXrcvYovwj9ZJ8RkBjiQCY3tqbUL3Gt9MBg>", "X-ME-Proxy-Cause": "gggruggvucftvghtrhhoucdtuddrgeduuddrudegvddgkeduucetufdoteggodetrfdotf\n\tfvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen\n\tuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne\n\tcujfgurhephffvufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhhomhgr\n\tshcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecukf\n\thppeejjedrudefgedrvddtfedrudekgeenucfrrghrrghmpehmrghilhhfrhhomhepthhh\n\tohhmrghssehmohhnjhgrlhhonhdrnhgvthenucevlhhushhtvghrufhiiigvpedt", "X-ME-Proxy": "<xmx:l9T3XLtsoYUqp7plzhIV89bTLrNL5PRuHFynYVxKOlL-WF4fpoUpng>\n\t<xmx:l9T3XJljRF6MxJxf_pJA5mWJ4FOxBy6C_0b6m1o2wHVQMQbMAYY9tg>\n\t<xmx:l9T3XPPFFrJGtQTozOY9P5483ZZdTlwU1-JRErtNqe0wnnmzlARO_w>\n\t<xmx:mNT3XK-X2j3sVLgecKz9232X3j8dTO1Y10dJMOqpRzmGkbIIB5EyZQ>", "From": "Thomas Monjalon <thomas@monjalon.net>", "To": "Bruce Richardson <bruce.richardson@intel.com>", "Cc": "dev@dpdk.org, konstantin.ananyev@intel.com, aconole@redhat.com", "Date": "Wed, 05 Jun 2019 16:41:25 +0200", "Message-ID": "<1667240.nEyWy9ANPa@xps>", "In-Reply-To": "<20190410134517.63896-1-bruce.richardson@intel.com>", "References": "<20190410134517.63896-1-bruce.richardson@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "7Bit", "Content-Type": "text/plain; charset=\"us-ascii\"", "Subject": "Re: [dpdk-dev] [PATCH 0/2] remove use of weak functions from\n\tlibraries", "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>" }, "addressed": null } ]