All of lore.kernel.org
 help / color / mirror / Atom feed
* Underlinked libs and overlinked applications - an issue?
@ 2016-05-19 15:38 Christian Ehrhardt
  2016-05-19 18:17 ` Thomas Monjalon
  0 siblings, 1 reply; 62+ messages in thread
From: Christian Ehrhardt @ 2016-05-19 15:38 UTC (permalink / raw)
  To: dev

Hi,
I was working on the new 16.04 build system to adapt deb packaging to it.
I remember somewhen back in the DPDK 2.2 and shared+combined library days I
had some issues with over/underlinking - but it seems those are still
existent or came back.

After a build in almost default config (just disabled the kernel modules)
and set RTE_MACHINE to default I find the following.

#1
The libraries are all only linked against external things - even clearly
using internal structures:
ldd usr/lib/x86_64-linux-gnu/librte_lpm.so.2
       linux-vdso.so.1 =>  (0x00007fff7e7a5000)
       libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f175d4dd000)
       /lib64/ld-linux-x86-64.so.2 (0x0000558d3afbf000)

#2
The Application then seem to try to make up for that by realizing all that
is missing.
But looking at the app alone it seems overlinked by that - it is not using
all of these on its own.
ldd usr/bin/cmdline_test
       linux-vdso.so.1 =>  (0x00007ffeec9ea000)
       librte_distributor.so.1 => not found
       librte_reorder.so.1 => not found
[...]
       librte_jobstats.so.1 => not found
[...]
And for example none of the librte_jobstats.so.1 symbols are used
"directly" in there.


I'm still digging into that concept of using a linker script for all of
that and some of the new implications by that. And eventually thing "work",
but this linking at least feels wrong to me.


So I wanted to ask - is that intentional - or should that be fixed?
If it should be fixed are there obvious suggestions where/how?
And if it is intentional - could one be so nice to elaborate it a bit for
me - thanks in advance.


Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd

^ permalink raw reply	[flat|nested] 62+ messages in thread

end of thread, other threads:[~2016-06-13 14:16 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-19 15:38 Underlinked libs and overlinked applications - an issue? Christian Ehrhardt
2016-05-19 18:17 ` Thomas Monjalon
2016-05-20 11:01   ` Panu Matilainen
2016-05-20 12:41     ` Christian Ehrhardt
2016-05-20 16:43       ` Christian Ehrhardt
2016-05-20 16:50         ` [PATCH] mk: fix underlinking issues of most librte libraries Christian Ehrhardt
2016-05-20 17:08           ` Thomas Monjalon
2016-05-24  9:56             ` Panu Matilainen
2016-05-24 10:11               ` Christian Ehrhardt
2016-05-26 13:13                 ` Ferruh Yigit
2016-05-27  5:59                   ` Panu Matilainen
2016-05-27 16:15                     ` Ferruh Yigit
2016-05-27 16:48                       ` [PATCH 1/2] mk: prevent overlinking in applications Ferruh Yigit
2016-05-27 16:48                         ` [PATCH 2/2] mk: reduce scope of whole-archive to pmd libraries Ferruh Yigit
2016-06-10  9:03                           ` Thomas Monjalon
2016-06-10  9:57                             ` Ferruh Yigit
2016-06-10 10:18                               ` Thomas Monjalon
2016-06-10 11:06                                 ` Ferruh Yigit
2016-06-10 12:21                                   ` Thomas Monjalon
2016-06-10 13:35                                     ` Ferruh Yigit
2016-06-09 10:10                         ` [PATCH 1/2] mk: prevent overlinking in applications Thomas Monjalon
2016-06-09 13:05                           ` Ferruh Yigit
2016-06-10 13:19                         ` [PATCH v2 0/6] reduce " Thomas Monjalon
2016-06-10 13:19                           ` [PATCH v2 1/6] mk: sort drivers in static application link list Thomas Monjalon
2016-06-10 13:19                           ` [PATCH v2 2/6] mk: fix driver dependencies order for static application Thomas Monjalon
2016-06-10 14:49                             ` Ferruh Yigit
2016-06-10 14:54                               ` Thomas Monjalon
2016-06-10 13:19                           ` [PATCH v2 3/6] mk: remove library grouping during application linking Thomas Monjalon
2016-06-10 14:54                             ` Ferruh Yigit
2016-06-10 15:14                               ` Thomas Monjalon
2016-06-10 13:19                           ` [PATCH v2 4/6] mk: prevent overlinking in applications Thomas Monjalon
2016-06-10 14:56                             ` Ferruh Yigit
2016-06-10 15:15                               ` Thomas Monjalon
2016-06-10 13:19                           ` [PATCH v2 5/6] mk: sort libraries in level order when linking Thomas Monjalon
2016-06-10 13:19                           ` [PATCH v2 6/6] mk: reduce scope of whole-archive static linking Thomas Monjalon
2016-06-10 15:03                             ` Ferruh Yigit
2016-06-10 15:18                               ` Thomas Monjalon
2016-06-10 18:32                           ` [PATCH v3 0/6] reduce overlinking in applications Ferruh Yigit
2016-06-10 18:32                             ` [PATCH v3 1/6] mk: sort drivers in static application link list Ferruh Yigit
2016-06-10 19:38                               ` Wiles, Keith
2016-06-10 18:32                             ` [PATCH v3 2/6] mk: fix driver dependencies order for static application Ferruh Yigit
2016-06-10 18:32                             ` [PATCH v3 3/6] mk: sort libraries when linking, move pmd libs to higher level Ferruh Yigit
2016-06-13  9:29                               ` Thomas Monjalon
2016-06-13 10:04                                 ` Ferruh Yigit
2016-06-13 10:21                                   ` Thomas Monjalon
2016-06-13 10:29                                     ` Ferruh Yigit
2016-06-10 18:32                             ` [PATCH v3 4/6] mk: sort libraries when linking, move external libs to lower level Ferruh Yigit
2016-06-10 18:32                             ` [PATCH v3 5/6] mk: remove library grouping during application linking Ferruh Yigit
2016-06-10 18:32                             ` [PATCH v3 6/6] mk: prevent overlinking in applications Ferruh Yigit
2016-06-11  6:34                               ` Thomas Monjalon
2016-06-13  9:05                                 ` Ferruh Yigit
2016-06-13  9:24                                   ` Christian Ehrhardt
2016-06-13  9:48                                     ` [PATCH] mk: fix missing DEPDIRS to avoid libarary underlinking Christian Ehrhardt
2016-06-13 10:08                                       ` Thomas Monjalon
2016-06-13 10:20                                         ` Christian Ehrhardt
2016-06-13 11:06                                           ` [PATCH v2 0/2] mk: fix more library underlinking Christian Ehrhardt
2016-06-13 11:06                                             ` [PATCH v2 1/2] mk: fix missing vhost dependency to pthread to avoid libarary underlinking Christian Ehrhardt
2016-06-13 11:06                                             ` [PATCH v2 2/2] mk: fix missing DEPDIRS " Christian Ehrhardt
2016-06-13 14:16                                             ` [PATCH v2 0/2] mk: fix more library underlinking Thomas Monjalon
2016-06-13 14:14                           ` [PATCH v2 0/6] reduce overlinking in applications Thomas Monjalon
2016-06-07  8:23               ` [PATCH] mk: fix underlinking issues of most librte libraries Thomas Monjalon
2016-06-07  9:25                 ` Panu Matilainen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.