numam-dpdk/mk
Olivier Matz ab338eb44e mk: fix lib filtering when linking app
I get the following error when linking the test application:
  build/lib/librte_pmd_thunderx_nicvf.a(nicvf_hw.o):
  In function `nicvf_qsize_regbit':
  drivers/net/thunderx/base/nicvf_hw.c:451: undefined reference to `log2'
  build/lib/librte_pmd_thunderx_nicvf.a(nicvf_hw.o):
  In function `nicvf_rss_reta_update':
  drivers/net/thunderx/base/nicvf_hw.c:804: undefined reference to `log2'
  build/lib/librte_pmd_thunderx_nicvf.a(nicvf_hw.o):
  In function `nicvf_rss_reta_query':
  drivers/net/thunderx/base/nicvf_hw.c:825: undefined reference to `log2'

While I don't know why it does not happen for a default build, the error
can be explained. The link command line is:

   gcc -o test ... *.o ... -Wl,-lm ... -Wl,-lrte_pmd_thunderx_nicvf ...

rte_pmd_thunderx_nicvf needs the math library, and it should be
added after. This is not the case because the test application also
adds the math library.

The makefile already filters the libraries, but it keeps the first
occurrence of the lib. Instead, the last one should be kept.

Fixes: edf4d331dc ("mk: eliminate duplicates from libraries list")
Cc: stable@dpdk.org

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2017-04-06 16:50:17 +02:00
..
arch remove unmaintained TILE-Gx architecture 2017-03-15 11:40:57 +01:00
exec-env mk: prevent overlinking in applications 2016-06-13 16:09:58 +02:00
internal mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
machine mk: remove default toolchain prefix for ThunderX 2017-01-29 15:48:11 +01:00
target/generic config: remove insecure warnings 2016-12-07 18:34:02 +01:00
toolchain mk: fix shell errors when building with clang 2017-04-06 16:50:17 +02:00
rte.app.mk mk: fix lib filtering when linking app 2017-04-06 16:50:17 +02:00
rte.bsdmodule.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.combinedlib.mk mk: fix linker script when re-building 2016-03-17 21:53:06 +01:00
rte.cpuflags.mk mk: improve ARM NEON detection 2016-03-24 17:46:58 +01:00
rte.extapp.mk mk, scripts: remove useless blank lines 2015-06-12 11:10:02 +02:00
rte.extlib.mk mk: remove ABI versioning for external library 2015-12-08 02:59:54 +01:00
rte.extobj.mk mk, scripts: remove useless blank lines 2015-06-12 11:10:02 +02:00
rte.extshared.mk mk: allow to build shared libraries 2014-02-26 11:01:13 +01:00
rte.extsubdir.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.gnuconfigure.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.hostapp.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.hostlib.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.install.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.lib.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.module.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.obj.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.sdkbuild.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.sdkconfig.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.sdkdepdirs.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.sdkdoc.mk mk: build examples list before each doxygen run 2017-04-06 16:29:32 +02:00
rte.sdkexamples.mk mk: add "make examples" target in root makefile 2014-05-16 16:02:55 +02:00
rte.sdkgcov.mk remove trailing whitespaces 2014-06-11 00:29:34 +02:00
rte.sdkinstall.mk tools: move to usertools 2017-01-04 21:17:32 +01:00
rte.sdkroot.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.sdktest.mk mk: fix message when test application is not built 2017-03-27 10:44:53 +02:00
rte.shared.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.subdir.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.vars.mk mk: allow to override devel mode from environment 2016-09-23 18:30:01 +02:00