[dpdk-dev] mk: fix linker script when re-building

Message ID 1458170543-47621-1-git-send-email-sergio.gonzalez.monroy@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Sergio Gonzalez Monroy March 16, 2016, 11:22 p.m. UTC
  The linker script is generated by simply finding all libraries in
RTE_OUTPUT/lib.

The issue shows up when re-building the DPDK, hence already having a
linker script in that directory, resulting in the linker script
including itself.

That does not play well with the linker.

Simply filtering the linker script from all the found libraries solves
the problem.

Fixes: 948fd64befc3 ("mk: replace the combined library with a linker script")

Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
---
 mk/rte.combinedlib.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Panu Matilainen March 17, 2016, 9:37 a.m. UTC | #1
On 03/17/2016 01:22 AM, Sergio Gonzalez Monroy wrote:
> The linker script is generated by simply finding all libraries in
> RTE_OUTPUT/lib.
>
> The issue shows up when re-building the DPDK, hence already having a
> linker script in that directory, resulting in the linker script
> including itself.
>
> That does not play well with the linker.
>
> Simply filtering the linker script from all the found libraries solves
> the problem.
>
> Fixes: 948fd64befc3 ("mk: replace the combined library with a linker script")
>
> Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
> ---
>   mk/rte.combinedlib.mk | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mk/rte.combinedlib.mk b/mk/rte.combinedlib.mk
> index fe4817b..449358b 100644
> --- a/mk/rte.combinedlib.mk
> +++ b/mk/rte.combinedlib.mk
> @@ -42,7 +42,7 @@ endif
>   RTE_LIBNAME := dpdk
>   COMBINEDLIB := lib$(RTE_LIBNAME)$(EXT)
>
> -LIBS := $(notdir $(wildcard $(RTE_OUTPUT)/lib/*$(EXT)))
> +LIBS := $(filter-out $(COMBINEDLIB), $(notdir $(wildcard $(RTE_OUTPUT)/lib/*$(EXT))))
>
>   all: FORCE
>   	$(Q)echo "GROUP ( $(LIBS) )" > $(RTE_OUTPUT)/lib/$(COMBINEDLIB)
>

Oops, thanks for spotting.

Acked-by: Panu Matilainen <pmatilai@redhat.com>

	- Panu -
  
Thomas Monjalon March 17, 2016, 8:48 p.m. UTC | #2
2016-03-17 11:37, Panu Matilainen:
> On 03/17/2016 01:22 AM, Sergio Gonzalez Monroy wrote:
> > The linker script is generated by simply finding all libraries in
> > RTE_OUTPUT/lib.
> >
> > The issue shows up when re-building the DPDK, hence already having a
> > linker script in that directory, resulting in the linker script
> > including itself.
> >
> > That does not play well with the linker.
> >
> > Simply filtering the linker script from all the found libraries solves
> > the problem.
> >
> > Fixes: 948fd64befc3 ("mk: replace the combined library with a linker script")
> >
> > Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
> 
> Oops, thanks for spotting.
> 
> Acked-by: Panu Matilainen <pmatilai@redhat.com>

Applied, thanks
  

Patch

diff --git a/mk/rte.combinedlib.mk b/mk/rte.combinedlib.mk
index fe4817b..449358b 100644
--- a/mk/rte.combinedlib.mk
+++ b/mk/rte.combinedlib.mk
@@ -42,7 +42,7 @@  endif
 RTE_LIBNAME := dpdk
 COMBINEDLIB := lib$(RTE_LIBNAME)$(EXT)
 
-LIBS := $(notdir $(wildcard $(RTE_OUTPUT)/lib/*$(EXT)))
+LIBS := $(filter-out $(COMBINEDLIB), $(notdir $(wildcard $(RTE_OUTPUT)/lib/*$(EXT))))
 
 all: FORCE
 	$(Q)echo "GROUP ( $(LIBS) )" > $(RTE_OUTPUT)/lib/$(COMBINEDLIB)