From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 6AEFAAFD9 for ; Wed, 28 May 2014 16:17:54 +0200 (CEST) Received: from nat-pool-rdu-u.redhat.com ([66.187.233.203] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1Wpeg2-0003Xk-81; Wed, 28 May 2014 10:18:03 -0400 Date: Wed, 28 May 2014 10:17:51 -0400 From: Neil Horman To: Thomas Monjalon Message-ID: <20140528141751.GA2648@localhost.localdomain> References: <1401195316-31149-1-git-send-email-thomas.monjalon@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1401195316-31149-1-git-send-email-thomas.monjalon@6wind.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: -2.9 (--) X-Spam-Status: No Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH] mk: fix link with gcc X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 May 2014 14:17:54 -0000 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 > --- > mk/rte.lib.mk | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk > index f5d2789..c58e68e 100644 > --- a/mk/rte.lib.mk > +++ b/mk/rte.lib.mk > @@ -62,6 +62,8 @@ exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1)))) > 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)) > endif > Agree with Olivier, what exactly is the problem here? 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 Neil > O_TO_A = $(AR) crus $(LIB) $(OBJS-y) > @@ -73,7 +75,7 @@ O_TO_A_DO = @set -e; \ > $(O_TO_A) && \ > echo $(O_TO_A_CMD) > $(call exe2cmd,$(@)) > > -O_TO_S = $(LD) $(CPU_LDFLAGS) -z muldefs -shared $(OBJS-y) -o $(LIB) > +O_TO_S = $(LD) $(CPU_LDFLAGS) $(LD_MULDEFS) -shared $(OBJS-y) -o $(LIB) > O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight > O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)"," LD $(@)") > O_TO_S_DO = @set -e; \ > @@ -89,7 +91,7 @@ O_TO_C_DO = @set -e; \ > $(lib_dir) \ > $(copy_obj) > else > -O_TO_C = $(LD) -z muldefs -shared $(OBJS-y) -o $(LIB_ONE) > +O_TO_C = $(LD) $(LD_MULDEFS) -shared $(OBJS-y) -o $(LIB_ONE) > O_TO_C_STR = $(subst ','\'',$(O_TO_C)) #'# fix syntax highlight > O_TO_C_DISP = $(if $(V),"$(O_TO_C_STR)"," LD_C $(@)") > O_TO_C_DO = @set -e; \ > -- > 1.9.2 > >