On 09/04/2018 06:37 PM, DJ Delorie wrote:
Stefan Liebler <stli@linux.ibm.com> writes:
+ if (strncmp (argv[1], support_objdir_elf_ldso,
+ strlen (support_objdir_elf_ldso)) == 0)
If we're comparing the whole name now, this could be a strcmp() instead?
Yes, of course. You are right.
I've updated the patch.
Thanks
Stefan
20180905_test_container.patch
commit 79f7c31ef02a13eb6ede1393770d29cb36914754
Author: Stefan Liebler <stli@linux.ibm.com>
Date: Wed Sep 5 09:23:13 2018 +0200
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!
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.