aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/x86/tst-cet-legacy-4.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/x86/tst-cet-legacy-4.c')
-rw-r--r--sysdeps/x86/tst-cet-legacy-4.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/sysdeps/x86/tst-cet-legacy-4.c b/sysdeps/x86/tst-cet-legacy-4.c
index a77078a..ee54b87 100644
--- a/sysdeps/x86/tst-cet-legacy-4.c
+++ b/sysdeps/x86/tst-cet-legacy-4.c
@@ -20,6 +20,9 @@
#include <dlfcn.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
+
+#include <support/check.h>
static int
do_test (void)
@@ -31,22 +34,18 @@ do_test (void)
h = dlopen (modname, RTLD_LAZY);
if (h == NULL)
{
- printf ("cannot open '%s': %s\n", modname, dlerror ());
- exit (1);
+ const char *err = dlerror ();
+ if (!strstr (err, "rebuild shared object with IBT support enabled"))
+ FAIL_EXIT1 ("incorrect dlopen '%s' error: %s\n", modname, err);
+ return 0;
}
fp = dlsym (h, "test");
if (fp == NULL)
- {
- printf ("cannot get symbol 'test': %s\n", dlerror ());
- exit (1);
- }
+ FAIL_EXIT1 ("cannot get symbol 'test': %s\n", dlerror ());
if (fp () != 0)
- {
- puts ("test () != 0");
- exit (1);
- }
+ FAIL_EXIT1 ("test () != 0");
dlclose (h);