[dpdk-dev] [PATCH] mk: fix link with gcc

Neil Horman nhorman at tuxdriver.com
Thu May 29 13:07:18 CEST 2014


On Thu, May 29, 2014 at 08:24:56AM +0200, Thomas Monjalon wrote:
> Hi Neil,
> 
> 2014-05-28 10:17, Neil Horman:
> > On Tue, May 27, 2014 at 02:55:16PM +0200, Thomas Monjalon wrote:
> > > Some linker options were not prefixed by -Wl, when using gcc:
> > > 	-z muldefs
> > > 	-melf_i386 (32-bit config)
> > > 
> > > Using macro linkerprefix is fixing it.
> > > 
> > > Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
> [...]
> > >  ifeq ($(LINK_USING_CC),1)
> > >  # Override the definition of LD here, since we're linking with CC
> > >  LD := $(CC)
> > > 
> > > +LD_MULDEFS := $(call linkerprefix,-z$(comma)muldefs)
> > > +CPU_LDFLAGS := $(call linkerprefix,$(CPU_LDFLAGS))
> > 
> > Agree with Olivier, what exactly is the problem here?
> 
> When using CC as LD, linker options should be prefixed with -Wl.
> 
> > Also, I don't think
> > this is correct, as CPU_LD_FLAGS and -z muldefs below is used in
> > conjunction with $LD.  It would make sense to prefix -Wl to these options
> > if we were passing them through $CC, but not $LD
> 
> Yes, but options are prefixed only in the case LD = CC.
> 
ah, sorry, was looking at the wrong clause in rte.lib.mk

> Neil, this situation is funny as you're the author of the patch making LD as 
> CC and you submitted this kind of fix to prefix CPU_LDFLAGS :)
> This patch is a translation of yours with use of macro linkerprefix.
> 
Yeah, my fault, I was only looking at the lines changed, rather than the context
surrounding them.  This makes sense.
Neil

> --  
> Thomas
> 


More information about the dev mailing list