This is a bit ugly. Specifing abs_builddir as an RPATH is plain wrong when
|
cross compiling. Sadly, removing the rpath makes libtool/automake do
|
weird things and breaks the build as shared libs are no longer generated.
|
|
We already try and delete the RPATH at do_install with chrpath however
|
that does leave the path in the string table so it doesn't help us
|
with reproducibility.
|
|
Instead, hack in a bogus but harmless path, then delete it later in
|
our do_install. Ultimately we may want to pass a specific path to use
|
to configure if we really do need to set an RPATH at all. It is unclear
|
to me whether the tests need that or not.
|
|
Fixes reproducibility issues for lttng-tools.
|
|
Upstream-Status: Pending [needs discussion with upstream about the correct solution]
|
RP 2021/3/1
|
|
Index: lttng-tools-2.12.2/tests/regression/ust/ust-dl/Makefile.am
|
===================================================================
|
--- lttng-tools-2.12.2.orig/tests/regression/ust/ust-dl/Makefile.am
|
+++ lttng-tools-2.12.2/tests/regression/ust/ust-dl/Makefile.am
|
@@ -27,16 +27,16 @@ noinst_LTLIBRARIES = libzzz.la libbar.la
|
|
libzzz_la_SOURCES = libzzz.c libzzz.h
|
libzzz_la_LDFLAGS = -module -shared -avoid-version \
|
- -rpath $(abs_builddir)
|
+ -rpath /usr/lib
|
|
libbar_la_SOURCES = libbar.c libbar.h
|
libbar_la_LDFLAGS = -module -shared -avoid-version \
|
- -rpath $(abs_builddir)
|
+ -rpath /usr/lib
|
libbar_la_LIBADD = libzzz.la
|
|
libfoo_la_SOURCES = libfoo.c libfoo.h
|
libfoo_la_LDFLAGS = -module -shared -avoid-version \
|
- -rpath $(abs_builddir)
|
+ -rpath /usr/lib
|
libfoo_la_LIBADD = libbar.la
|
|
CLEANFILES = libfoo.so libfoo.so.debug libbar.so libbar.so.debug \
|
@@ -44,7 +44,7 @@ CLEANFILES = libfoo.so libfoo.so.debug l
|
|
libtp_la_SOURCES = libbar-tp.h libbar-tp.c libfoo-tp.h libfoo-tp.c \
|
libzzz-tp.h libzzz-tp.c
|
-libtp_la_LDFLAGS = -module -shared -rpath $(abs_builddir)
|
+libtp_la_LDFLAGS = -module -shared -rpath /usr/lib
|
|
# Extract debug symbols
|
libfoo.so.debug: libfoo.la
|
Index: lttng-tools-2.12.2/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
|
===================================================================
|
--- lttng-tools-2.12.2.orig/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
|
+++ lttng-tools-2.12.2/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
|
@@ -5,7 +5,7 @@ AM_CFLAGS += -O0
|
noinst_LTLIBRARIES = libfoo.la
|
|
libfoo_la_SOURCES = foo.c foo.h
|
-libfoo_la_LDFLAGS = -shared -module -avoid-version -rpath $(abs_builddir)/.libs/
|
+libfoo_la_LDFLAGS = -shared -module -avoid-version -rpath /usr/lib
|
|
noinst_PROGRAMS = userspace-probe-elf-binary
|
userspace_probe_elf_binary_SOURCES = userspace-probe-elf-binary.c
|