From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
To: Luca Boccassi <bluca@debian.org>
Cc: Bruce Richardson <bruce.richardson@intel.com>, dev <dev@dpdk.org>,
Kevin Laatz <kevin.laatz@intel.com>,
Thomas Monjalon <thomas@monjalon.net>
Subject: Re: [dpdk-dev] [PATCH v2] build: avoid --as-needed as it causes overlinking
Date: Mon, 2 Sep 2019 09:09:26 +0200 [thread overview]
Message-ID: <CAATJJ0KBVCxYpJcA8s2dkwXTDVKO3SFF+kLjaG0FJVqfcmA26g@mail.gmail.com> (raw)
In-Reply-To: <dfa09a89e1a2cb61295659b00c315de2d77762b9.camel@debian.org>
On Thu, Aug 29, 2019 at 6:02 PM Luca Boccassi <bluca@debian.org> wrote:
>
> On Thu, 2019-08-29 at 16:34 +0100, Bruce Richardson wrote:
> > On Thu, Aug 29, 2019 at 05:30:03PM +0200, Christian Ehrhardt wrote:
> > > A while ago telemetry was added in 57ae0ec6 and it also added as-
> > > needed
> > > to config/meson.build. This seems no more needed these days as due
> > > to other
> > > build changes the ordering in buildlogs is:
> > > [...] -lrte_telemetry [...] -Wl,--no-as-needed [...]
> > > Which means telemetry no more benefits from --no-as-needed anyway.
> > >
> > > Overlinking problems get triggered by the meson generated pkgconfig
> > > which
> > > will have:
> > > [...] -Wl,--no-as-needed <somelibsusedbydpdk>
> > > This will overlink <somelibs> and in addition anything that follows
> > > as it also doesn't wrap back to --as-needed. So if a projects
> > > includes
> > > dpdk libs + <other> it will also consider <other> with --no-as-
> > > needed.
> > >
> > > Fixes:
> > > https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/1841759
> > >
> > >
> > > Signed-off-by: Christian Ehrhardt <
> > > christian.ehrhardt@canonical.com
> > > >
> > > Acked-by: Luca Boccassi <
> > > bluca@debian.org
> > > >
> > > ---
> > > config/meson.build | 1 -
> > > 1 file changed, 1 deletion(-)
> > >
> > > diff --git a/config/meson.build b/config/meson.build
> > > index 2bafea530..a27f731f8 100644
> > > --- a/config/meson.build
> > > +++ b/config/meson.build
> > > @@ -94,7 +94,6 @@ dpdk_conf.set('RTE_TOOLCHAIN_' +
> > > toolchain.to_upper(), 1)
> > > dpdk_conf.set('RTE_ARCH_64', cc.sizeof('void *') == 8)
> > >
> > > add_project_link_arguments('-Wl,--no-as-needed', language: 'c')
> > > -dpdk_extra_ldflags += '-Wl,--no-as-needed'
> > >
> >
> > This seems strange to me. What is it about linking the dpdk apps that
> > require the argument, but makes it safe for non-builtin apps to avoid
> > having the arg?
>
> We've been wondering about that for a while :-) It also seems to be not
> reproducible on Ubuntu 18.04/gcc 7.4.
>
> Can the verbose linking log be shared here, so that we can have a look
> at where no-as-needed lands? Might provide some clue
That would be the verbose linking log of the Travis CI run right?
I currently have no idea which knob to turn to get this :-/
Having it accepted in upstream would make it more easy to fix this in
the soon to be released Ubuntu 19.10.
Is there a path to consider taking this fix as-is and continue the
debug/discussion how the removal of the second line can even cause the
symptoms that we have seen later?
Or is everyone afraid that we then will not continue on it at all?
> --
> Kind regards,
> Luca Boccassi
--
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd
next prev parent reply other threads:[~2019-09-02 7:09 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-28 12:27 [dpdk-dev] [PATCH] " Christian Ehrhardt
2019-08-28 13:49 ` Luca Boccassi
2019-08-28 13:53 ` Aaron Conole
2019-08-28 14:48 ` Christian Ehrhardt
2019-08-28 15:14 ` Aaron Conole
2019-08-28 15:23 ` Aaron Conole
2019-08-29 10:18 ` Christian Ehrhardt
2019-08-29 15:25 ` Christian Ehrhardt
2019-08-29 15:30 ` [dpdk-dev] [PATCH v2] " Christian Ehrhardt
2019-08-29 15:34 ` Bruce Richardson
2019-08-29 16:02 ` Luca Boccassi
2019-09-02 7:09 ` Christian Ehrhardt [this message]
2019-09-04 9:13 ` Christian Ehrhardt
2019-09-04 9:18 ` Bruce Richardson
2019-09-10 6:48 ` Christian Ehrhardt
2019-09-12 13:43 ` Christian Ehrhardt
2019-10-12 13:02 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAATJJ0KBVCxYpJcA8s2dkwXTDVKO3SFF+kLjaG0FJVqfcmA26g@mail.gmail.com \
--to=christian.ehrhardt@canonical.com \
--cc=bluca@debian.org \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=kevin.laatz@intel.com \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).