aboutsummaryrefslogtreecommitdiff
path: root/elf/tst-dl_find_object.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/tst-dl_find_object.c')
-rw-r--r--elf/tst-dl_find_object.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/elf/tst-dl_find_object.c b/elf/tst-dl_find_object.c
index 96ec591..d85eb21 100644
--- a/elf/tst-dl_find_object.c
+++ b/elf/tst-dl_find_object.c
@@ -122,6 +122,14 @@ check (void *address,
address, actual.dlfo_eh_count, expected->dlfo_eh_count);
}
#endif
+ if (actual.dlfo_flags & DLFO_FLAG_SFRAME
+ && actual.dlfo_sframe != expected->dlfo_sframe)
+ {
+ support_record_failure ();
+ printf ("%s:%d: error: %p: sframe is %p, expected %p\n",
+ __FILE__, line,
+ address, actual.dlfo_sframe, expected->dlfo_sframe);
+ }
}
/* Check that unwind data for the main executable and the dynamic
@@ -180,6 +188,12 @@ do_test (void)
dlfo.dlfo_eh_frame, ret);
TEST_COMPARE (ret, 0);
TEST_VERIFY (dlfo.dlfo_eh_frame != NULL);
+#if ENABLE_SFRAME
+ TEST_VERIFY ((dlfo.dlfo_flags & DLFO_FLAG_SFRAME) == DLFO_FLAG_SFRAME);
+ TEST_VERIFY (dlfo.dlfo_sframe != NULL);
+#else
+ TEST_VERIFY ((dlfo.dlfo_flags & DLFO_FLAG_SFRAME) != DLFO_FLAG_SFRAME);
+#endif
}
check_initial ();