]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
elf: Fix tst-pldd for non-default --prefix and/or --bindir (BZ#24544)
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 13 May 2019 16:13:46 +0000 (13:13 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 14 May 2019 14:04:41 +0000 (11:04 -0300)
Use a new libsupport support_bindir_prefix instead of a hardcoded
/usr/bin to create the pldd path on container directory.

Checked on x86_64-linux-gnu with default and non-default --prefix and
--bindir paths, as well with --enable-hardcoded-path-in-tests.

[BZ #24544]
* elf/tst-pldd.c (do_test): Use support_bindir_prefix instead of
pre-defined value.

Reviewed-by: DJ Delorie <dj@redhat.com>
ChangeLog
elf/tst-pldd.c

index 9a4c89d42f548a4da446a574aef23037dde823e5..7f2ed939a7b8af65c65cbf16acd7561bb1aa8137 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2019-05-14  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
+       [BZ #24544]
+       * elf/tst-pldd.c (do_test): Use support_bindir_prefix instead of
+       pre-defined value.
+
        * support/Makefile (CFLAGS-support_paths.c): Add -DBINDIR_PATH.
        * support/support.h (support_bindir_prefix): New variable.
        * support/support_paths.c [BINDIR_PATH] (support_bindir_prefix):
index 2a9f58936f00c01dbeb6e6fd798993605f8ac0a7..6b7c94a1c09ecfbeb7b98f07e9803b9ed979db24 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <stdlib.h>
 #include <unistd.h>
 #include <stdint.h>
 #include <stdbool.h>
@@ -28,6 +29,7 @@
 #include <support/subprocess.h>
 #include <support/capture_subprocess.h>
 #include <support/check.h>
+#include <support/support.h>
 
 static void
 target_process (void *arg)
@@ -60,12 +62,14 @@ do_test (void)
     char pid[3 * sizeof (uint32_t) + 1];
     snprintf (pid, array_length (pid), "%d", target.pid);
 
-    const char prog[] = "/usr/bin/pldd";
+    char *prog = xasprintf ("%s/pldd", support_bindir_prefix);
 
     pldd = support_capture_subprogram (prog,
       (char *const []) { (char *) prog, pid, NULL });
 
     support_capture_subprocess_check (&pldd, "pldd", 0, sc_allow_stdout);
+
+    free (prog);
   }
 
   /* Check 'pldd' output.  The test is expected to be linked against only