[lttng-dev] [PATCH lttng-ust] Fix: build example SO when PIE is enabled
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Tue Feb 20 12:14:27 EST 2018
Merged into lttng-ust master, thanks!
Mathieu
----- On Oct 25, 2017, at 2:28 PM, Michael Jeanson mjeanson at efficios.com wrote:
> In the example Makefiles, when building shared object libraires, make sure
> we set the custom linker options after the CFLAGS/LDFLAGS so that it
> overrides them. This is useful when the build system set some hardening
> features like PIE in the CFLAGS.
>
> Signed-off-by: Michael Jeanson <mjeanson at efficios.com>
> ---
> doc/examples/clock-override/Makefile | 4 ++--
> doc/examples/demo/Makefile | 8 ++++----
> doc/examples/getcpu-override/Makefile | 4 ++--
> 3 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/doc/examples/clock-override/Makefile
> b/doc/examples/clock-override/Makefile
> index 5433427..22e5dff 100644
> --- a/doc/examples/clock-override/Makefile
> +++ b/doc/examples/clock-override/Makefile
> @@ -26,8 +26,8 @@ lttng-ust-clock-override-example.o:
> lttng-ust-clock-override-example.c
> $(CFLAGS) -fpic -c -o $@ $<
>
> lttng-ust-clock-override-example.so: lttng-ust-clock-override-example.o
> - $(CC) -shared -Wl,--no-as-needed -o $@ $(LDFLAGS) $(AM_CFLAGS) \
> - $(AM_LDFLAGS) $(CFLAGS) lttng-ust-clock-override-example.o
> + $(CC) -Wl,--no-as-needed -o $@ $(LDFLAGS) $(AM_CFLAGS) \
> + $(AM_LDFLAGS) $(CFLAGS) -shared -fpic lttng-ust-clock-override-example.o
>
> .PHONY: clean
> clean:
> diff --git a/doc/examples/demo/Makefile b/doc/examples/demo/Makefile
> index 6272a2b..bb7fc17 100644
> --- a/doc/examples/demo/Makefile
> +++ b/doc/examples/demo/Makefile
> @@ -29,16 +29,16 @@ tp2.o: tp2.c ust_tests_demo2.h
> $(CFLAGS) -fpic -c -o $@ $<
>
> lttng-ust-provider-ust-tests-demo.so: tp.o tp2.o
> - $(CC) -shared -Wl,--no-as-needed -o $@ $(LDFLAGS) $(AM_CFLAGS) \
> - $(AM_LDFLAGS) $(CFLAGS) -llttng-ust tp.o tp2.o
> + $(CC) -Wl,--no-as-needed -o $@ $(LDFLAGS) $(AM_CFLAGS) \
> + $(AM_LDFLAGS) $(CFLAGS) -shared -fpic tp.o tp2.o $(LIBS) -llttng-ust
>
> tp3.o: tp3.c ust_tests_demo3.h
> $(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) \
> $(CFLAGS) -fpic -c -o $@ $<
>
> lttng-ust-provider-ust-tests-demo3.so: tp3.o
> - $(CC) -shared -Wl,--no-as-needed -o $@ $(LDFLAGS) $(AM_CFLAGS) \
> - $(AM_LDFLAGS) $(CFLAGS) -llttng-ust tp3.o
> + $(CC) -Wl,--no-as-needed -o $@ $(LDFLAGS) $(AM_CFLAGS) \
> + $(AM_LDFLAGS) $(CFLAGS) -shared -fpic tp3.o $(LIBS) -llttng-ust
>
> demo.o: demo.c
> $(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) \
> diff --git a/doc/examples/getcpu-override/Makefile
> b/doc/examples/getcpu-override/Makefile
> index de295c6..e1e4892 100644
> --- a/doc/examples/getcpu-override/Makefile
> +++ b/doc/examples/getcpu-override/Makefile
> @@ -26,8 +26,8 @@ lttng-ust-getcpu-override-example.o:
> lttng-ust-getcpu-override-example.c
> $(CFLAGS) -fpic -c -o $@ $<
>
> lttng-ust-getcpu-override-example.so: lttng-ust-getcpu-override-example.o
> - $(CC) -shared -Wl,--no-as-needed -o $@ $(LDFLAGS) $(AM_CFLAGS) \
> - $(AM_LDFLAGS) $(CFLAGS) lttng-ust-getcpu-override-example.o
> + $(CC) -Wl,--no-as-needed -o $@ $(LDFLAGS) $(AM_CFLAGS) \
> + $(AM_LDFLAGS) $(CFLAGS) -shared -fpic lttng-ust-getcpu-override-example.o
>
> .PHONY: clean
> clean:
> --
> 2.7.4
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list