[lttng-dev] [PATCH] Fix linker library order

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Tue May 14 08:37:24 EDT 2013


* Mathieu Desnoyers (mathieu.desnoyers at efficios.com) wrote:
> * Alexandre Montplaisir (alexmonthy at voxpopuli.im) wrote:
> > On 13-05-11 10:59 PM, Mathieu Desnoyers wrote:
> > > * Francis Giraldeau (francis.giraldeau at gmail.com) wrote:
> > >> Libraries must be specified after the binary target.
> > > merged, thanks!
> > >
> > > Mathieu
> > 
> > This seems to have broken the daily PPA packages:
> > https://launchpadlibrarian.net/139804087/buildlog_ubuntu-saucy-amd64.lttng-ust_2.2~pre-0%2Bbzr1574%2Bpack37%2B201305131247~saucy1_FAILEDTOBUILD.txt.gz
> > 
> > That package has no particular patches. If I build it locally from
> > source it builds fine, but if I build the package locally (with
> > dpkg-buildpackage), I get the same error. It could be related to the
> > --as-needed problem we've had before...
> 
> Francis, can you explain why your change was needed in the first place ?

Hrm, actually, these patches are wrong.

commit 725e63c5194bfdcde0a2a3507aca156ba36cf49f for instance:

"Libraries must be specified after the binary target."

 demo: demo.o
-       $(CC) -o $@ $(LIBS) $^
+       $(CC) -o $@ $^ $(LIBS)

the binary target here is "$@".

$^ is the source file name (demo.c).

this patch moves the source file name prior to the libraries, which is
incorrect (ref: gcc(1)). The input files should appear last.

So it breaks builds where $(LIBS) is non-empty.

I will revert commits:

commit a51ac6d9a011ba10b0be396dc1e801b2fc829651
Author: Francis Giraldeau <francis.giraldeau at gmail.com>
Date:   Sat May 11 22:59:21 2013 -0400

    Fix (another) linker library order
    
    Libraries must be specified after the binary target.
    
    Signed-off-by: Francis Giraldeau <francis.giraldeau at gmail.com>
    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>

commit 725e63c5194bfdcde0a2a3507aca156ba36cf49f
Author: Francis Giraldeau <francis.giraldeau at gmail.com>
Date:   Sat May 11 22:58:12 2013 -0400

    Fix linker library order
    
    Libraries must be specified after the binary target.
    
    Signed-off-by: Francis Giraldeau <francis.giraldeau at gmail.com>
    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>


Thanks,

Mathieu

> 
> Thanks,
> 
> Mathieu
> 
> > 
> > Cheers,
> > Alex
> > 
> > >
> > >> Signed-off-by: Francis Giraldeau <francis.giraldeau at gmail.com>
> > >> ---
> > >>  doc/examples/demo/Makefile | 2 +-
> > >>  1 file changed, 1 insertion(+), 1 deletion(-)
> > >>
> > >> diff --git a/doc/examples/demo/Makefile b/doc/examples/demo/Makefile
> > >> index 7ae6547..bbc8ccb 100644
> > >> --- a/doc/examples/demo/Makefile
> > >> +++ b/doc/examples/demo/Makefile
> > >> @@ -55,7 +55,7 @@ demo.o: demo.c
> > >>  	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
> > >>  
> > >>  demo: demo.o
> > >> -	$(CC) -o $@ $(LIBS) $^
> > >> +	$(CC) -o $@ $^ $(LIBS)
> > >>  
> > >>  .PHONY: clean
> > >>  clean:
> > >> -- 
> > >> 1.8.1.2
> > >>
> > >>
> > >> _______________________________________________
> > >> lttng-dev mailing list
> > >> lttng-dev at lists.lttng.org
> > >> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> > 
> 
> -- 
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list