aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.ibm.com>2018-10-04 13:07:29 +0200
committerStefan Liebler <stli@linux.ibm.com>2018-10-04 13:07:29 +0200
commite7624d708d12c608daf179d90c0d6de74c24dd2c (patch)
tree92913c933c88d70d1aa9c9abf7a3847c6a03689d
parentdae3ed958c3d0090838e49ff4f78c201262b1cf0 (diff)
downloadtermbaud-e7624d708d12c608daf179d90c0d6de74c24dd2c.tar.gz
termbaud-e7624d708d12c608daf179d90c0d6de74c24dd2c.tar.xz
termbaud-e7624d708d12c608daf179d90c0d6de74c24dd2c.zip
Adjust name of ld.so in test-container.c.
The test-container.c file assumes that ld.so is always named something like /elf/ld-linux-*. But e.g. on s390x it is named ld64.so.1 or ld.so.1 on s390. There are other architectures like power or mips with similar names. This patch introduces the new global variable support_objdir_elf_ldso which contains the absolute path to the runtime linker used by the testsuite, e.g. OBJDIR_PATH/elf/ld-linux-x86-64.so.2. The check in test-container.c is now comparing against this path. Without this patch, test-container.c is searching invalid files / directories and fails to find glibc/nss/tst-nss-test3.root/tst-nss-test3.script. Then the test tst-nss-test3 fails! Reviewed-by: Carlos O'Donell <carlos@redhat.com> ChangeLog: * support/support.h (support_objdir_elf_ldso): New variable. * support/support_paths.c (support_objdir_elf_ldso): Likewise. * support/Makefile (CFLAGS-support_paths.c): Add definition for OBJDIR_ELF_LDSO_PATH. * support/test-container.c (main): Search for the ld.so which is also used by the testsuite.
-rw-r--r--ChangeLog9
-rw-r--r--support/Makefile1
-rw-r--r--support/support.h4
-rw-r--r--support/support_paths.c8
-rw-r--r--support/test-container.c3
5 files changed, 23 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 955ebc070ad..f770e14e746 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2018-10-04 Stefan Liebler <stli@linux.ibm.com>
+
+ * support/support.h (support_objdir_elf_ldso): New variable.
+ * support/support_paths.c (support_objdir_elf_ldso): Likewise.
+ * support/Makefile (CFLAGS-support_paths.c): Add definition
+ for OBJDIR_ELF_LDSO_PATH.
+ * support/test-container.c (main): Search for the ld.so
+ which is also used by the testsuite.
+
2018-10-02 Rafal Luzynski <digitalfreak@lingonborough.com>
[BZ #20209]
diff --git a/support/Makefile b/support/Makefile
index 545bfa27279..8b4a7bf8c59 100644
--- a/support/Makefile
+++ b/support/Makefile
@@ -160,6 +160,7 @@ endif
CFLAGS-support_paths.c = \
-DSRCDIR_PATH=\"`cd .. ; pwd`\" \
-DOBJDIR_PATH=\"`cd $(objpfx)/..; pwd`\" \
+ -DOBJDIR_ELF_LDSO_PATH=\"`cd $(objpfx)/..; pwd`/elf/$(rtld-installed-name)\" \
-DINSTDIR_PATH=\"$(prefix)\" \
-DLIBDIR_PATH=\"$(libdir)\"
diff --git a/support/support.h b/support/support.h
index d0e15bca1da..9418cd11ef6 100644
--- a/support/support.h
+++ b/support/support.h
@@ -91,6 +91,10 @@ char *xstrndup (const char *, size_t);
extern const char support_srcdir_root[];
extern const char support_objdir_root[];
+/* Corresponds to the path to the runtime linker used by the testsuite,
+ e.g. OBJDIR_PATH/elf/ld-linux-x86-64.so.2 */
+extern const char support_objdir_elf_ldso[];
+
/* Corresponds to the --prefix= passed to configure. */
extern const char support_install_prefix[];
/* Corresponds to the install's lib/ or lib64/ directory. */
diff --git a/support/support_paths.c b/support/support_paths.c
index a1c22315bdb..6d0beb102c9 100644
--- a/support/support_paths.c
+++ b/support/support_paths.c
@@ -36,6 +36,14 @@ const char support_objdir_root[] = OBJDIR_PATH;
# error please -DOBJDIR_PATH=something in the Makefile
#endif
+#ifdef OBJDIR_ELF_LDSO_PATH
+/* Corresponds to the path to the runtime linker used by the testsuite,
+ e.g. OBJDIR_PATH/elf/ld-linux-x86-64.so.2 */
+const char support_objdir_elf_ldso[] = OBJDIR_ELF_LDSO_PATH;
+#else
+# error please -DOBJDIR_ELF_LDSO_PATH=something in the Makefile
+#endif
+
#ifdef INSTDIR_PATH
/* Corresponds to the --prefix= passed to configure. */
const char support_install_prefix[] = INSTDIR_PATH;
diff --git a/support/test-container.c b/support/test-container.c
index c56b53ed81b..fbdfb4a06af 100644
--- a/support/test-container.c
+++ b/support/test-container.c
@@ -674,8 +674,7 @@ main (int argc, char **argv)
}
}
- if (strncmp (argv[1], concat (support_objdir_root, "/elf/ld-linux-", NULL),
- strlen (support_objdir_root) + 14) == 0)
+ if (strcmp (argv[1], support_objdir_elf_ldso) == 0)
{
++argv;
--argc;