[lttng-dev] [PATCH lttng-tools] tests/unit: fix object files' location
Jérémie Galarneau
jeremie.galarneau at efficios.com
Tue Dec 8 06:42:09 EST 2015
Merged in master, stable-2.6 and stable-2.7.
Thanks for the patch and detailed write-up!
Jérémie
On Tue, Dec 1, 2015 at 6:36 PM, Samuel Martin <s.martin49 at gmail.com> wrote:
> Referring to *.o files under a .libs/ directory is not recommended
> because this belongs to libtool's innards.
>
> Indeed, libtool decides to place the *.o files in an
> implementation-specific location:
> - PIC *.o files go into a .libs/ directory;
> - non-PIC *.o files are generated along side to their corresponding
> source files.
>
> Using PIC objects to build executable is legit, thought it may
> introduce some minor overhead at runtime.
>
> However, hard-coding these PIC object files in the Makefile.am to build
> executables breaks the build in case of static only build.
>
> In this case, no PIC object files is generated, so the linker will not
> found some of the needed objects files.
>
> Changing these dependencies' path fixes the static build, keeping the
> shared one ok, though the non-PIC object files are now always built.
>
> Fixes #983.
>
> Fix tested on git master and v2.6 with no change needed.
>
> Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
> ---
> tests/unit/Makefile.am | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am
> index c0c9c45..7bfe65a 100644
> --- a/tests/unit/Makefile.am
> +++ b/tests/unit/Makefile.am
> @@ -34,9 +34,9 @@ SESSIONS=$(top_builddir)/src/bin/lttng-sessiond/session.o \
> $(top_builddir)/src/bin/lttng-sessiond/consumer.o \
> $(top_builddir)/src/bin/lttng-sessiond/utils.o \
> $(top_builddir)/src/bin/lttng-sessiond/snapshot.o \
> - $(top_builddir)/src/common/.libs/uri.o \
> - $(top_builddir)/src/common/.libs/utils.o \
> - $(top_builddir)/src/common/.libs/error.o \
> + $(top_builddir)/src/common/uri.o \
> + $(top_builddir)/src/common/utils.o \
> + $(top_builddir)/src/common/error.o \
> $(top_builddir)/src/common/health/libhealth.la \
> $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la
>
> @@ -60,8 +60,8 @@ UST_DATA_TRACE=$(top_builddir)/src/bin/lttng-sessiond/trace-ust.o \
> $(top_builddir)/src/bin/lttng-sessiond/session.o \
> $(top_builddir)/src/bin/lttng-sessiond/snapshot.o \
> $(top_builddir)/src/bin/lttng-sessiond/agent.o \
> - $(top_builddir)/src/common/.libs/uri.o \
> - $(top_builddir)/src/common/.libs/utils.o \
> + $(top_builddir)/src/common/uri.o \
> + $(top_builddir)/src/common/utils.o \
> $(top_builddir)/src/common/health/libhealth.la \
> $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la
>
> @@ -75,8 +75,8 @@ endif
> KERN_DATA_TRACE=$(top_builddir)/src/bin/lttng-sessiond/trace-kernel.o \
> $(top_builddir)/src/bin/lttng-sessiond/consumer.o \
> $(top_builddir)/src/bin/lttng-sessiond/utils.o \
> - $(top_builddir)/src/common/.libs/uri.o \
> - $(top_builddir)/src/common/.libs/utils.o \
> + $(top_builddir)/src/common/uri.o \
> + $(top_builddir)/src/common/utils.o \
> $(top_builddir)/src/common/health/libhealth.la \
> $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la
>
> @@ -86,8 +86,8 @@ test_kernel_data_LDADD = $(LIBTAP) $(LIBCOMMON) $(LIBRELAYD) $(LIBSESSIOND_COMM)
> test_kernel_data_LDADD += $(KERN_DATA_TRACE)
>
> # utils suffix for unit test
> -UTILS_SUFFIX=$(top_builddir)/src/common/.libs/utils.o \
> - $(top_builddir)/src/common/.libs/runas.o
> +UTILS_SUFFIX=$(top_builddir)/src/common/utils.o \
> + $(top_builddir)/src/common/runas.o
>
> # parse_size_suffix unit test
> test_utils_parse_size_suffix_SOURCES = test_utils_parse_size_suffix.c
> --
> 2.6.2
>
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list