forked from rpms/glibc
43 lines
1.2 KiB
Diff
43 lines
1.2 KiB
Diff
commit 35fc356fa3b4f485bd3ba3114c9f774e5df7d3c2
|
|
Author: Florian Weimer <fweimer@redhat.com>
|
|
Date: Wed May 21 08:43:32 2025 +0200
|
|
|
|
elf: Fix subprocess status handling for tst-dlopen-sgid (bug 32987)
|
|
|
|
This should really move into support_capture_subprogram_self_sgid.
|
|
|
|
Reviewed-by: Sam James <sam@gentoo.org>
|
|
|
|
diff --git a/elf/tst-dlopen-sgid.c b/elf/tst-dlopen-sgid.c
|
|
index 47829a405e90b6b9..5688b79f2e870b1d 100644
|
|
--- a/elf/tst-dlopen-sgid.c
|
|
+++ b/elf/tst-dlopen-sgid.c
|
|
@@ -26,6 +26,8 @@
|
|
#include <support/check.h>
|
|
#include <support/support.h>
|
|
#include <support/temp_file.h>
|
|
+#include <support/test-driver.h>
|
|
+#include <sys/wait.h>
|
|
#include <unistd.h>
|
|
|
|
/* This is the name of our test object. Use a custom module for
|
|
@@ -66,10 +68,16 @@ do_test (void)
|
|
free (from);
|
|
}
|
|
|
|
- TEST_COMPARE (support_capture_subprogram_self_sgid (magic_argument), 0);
|
|
-
|
|
free (libdir);
|
|
|
|
+ int status = support_capture_subprogram_self_sgid (magic_argument);
|
|
+
|
|
+ if (WEXITSTATUS (status) == EXIT_UNSUPPORTED)
|
|
+ return EXIT_UNSUPPORTED;
|
|
+
|
|
+ if (!WIFEXITED (status))
|
|
+ FAIL_EXIT1 ("Unexpected exit status %d from child process\n", status);
|
|
+
|
|
return 0;
|
|
}
|
|
|