Revert "Revert "Fix linker library order""
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 15 May 2013 06:03:01 +0000 (08:03 +0200)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 15 May 2013 06:03:01 +0000 (08:03 +0200)
This reverts commit 661805af83e2d4e7fa19432d6ae553460d6cd524.

The patch was OK in the first place. Explanation:

* Simon Marchi <simon.marchi@polymtl.ca> wrote:

Actually, $^ here is "demo.o", not "demo. Also, the libs should appear
after the objects on the command line. See the "-l" section in
http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html. On most setup
this doesn't matter, since -Wl,--no-as-needed was the default pretty
much everywhere. Ubuntu decided to use -Wl,--as-needed to avoid
unnecessary dependencies, so the order becomes important. If you try
to manual build on a recent Ubuntu you will get undefined references
to dlopen and such. So this patch is good.

If you read carefully the log sent by Alexandre, you see that it is
when building the shared libs in this directory
(lttng-ust-provider-ust-tests-demo.so) that the build fails. I don't
know why it fails, but Alexandre hinted that passing "-fPIE -pie" to
build a shared library is weird (it is usually -fPIC -pic). I am not
sure where that comes from. This behaviour only happens when building
the package, not when building manually.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
doc/examples/demo/Makefile

index 7ae6547eff4a476bf2f75bae96cf4e90f3550213..bbc8ccb7e6aae5821acf44236403a9865c195f07 100644 (file)
@@ -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:
This page took 0.025281 seconds and 4 git commands to generate.