aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2022-01-17 09:57:19 +0100
committerFlorian Weimer <fweimer@redhat.com>2022-01-17 09:58:27 +0100
commit06200aac9bec34dbcac28b8c60e49a77e7851c1f (patch)
tree30bd63a33805249199a7501972d64c06f2868145
parent8eb2510d38226ce10a3a15109be948f052585106 (diff)
downloadglibc-06200aac9bec34dbcac28b8c60e49a77e7851c1f.tar
glibc-06200aac9bec34dbcac28b8c60e49a77e7851c1f.tar.gz
glibc-06200aac9bec34dbcac28b8c60e49a77e7851c1f.tar.bz2
glibc-06200aac9bec34dbcac28b8c60e49a77e7851c1f.zip
elf/tst-dl_find_object: Disable subtests for non-contiguous maps (bug 28732)
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
-rw-r--r--elf/tst-dl_find_object.c29
1 files changed, 17 insertions, 12 deletions
diff --git a/elf/tst-dl_find_object.c b/elf/tst-dl_find_object.c
index 855d0fc735..6d2a2ffd1c 100644
--- a/elf/tst-dl_find_object.c
+++ b/elf/tst-dl_find_object.c
@@ -71,19 +71,24 @@ check (void *address,
__FILE__, line, address,
actual.dlfo_flags, expected->dlfo_flags);
}
- if (actual.dlfo_flags != expected->dlfo_flags)
+ if (expected->dlfo_link_map->l_contiguous)
{
- support_record_failure ();
- printf ("%s:%d: error: %p: map start is %p, expected %p\n",
- __FILE__, line,
- address, actual.dlfo_map_start, expected->dlfo_map_start);
- }
- if (actual.dlfo_map_end != expected->dlfo_map_end)
- {
- support_record_failure ();
- printf ("%s:%d: error: %p: map end is %p, expected %p\n",
- __FILE__, line,
- address, actual.dlfo_map_end, expected->dlfo_map_end);
+ /* If the mappings are not contiguous, the actual and execpted
+ mappings may differ, so this subtest will not work. */
+ if (actual.dlfo_flags != expected->dlfo_flags)
+ {
+ support_record_failure ();
+ printf ("%s:%d: error: %p: map start is %p, expected %p\n",
+ __FILE__, line,
+ address, actual.dlfo_map_start, expected->dlfo_map_start);
+ }
+ if (actual.dlfo_map_end != expected->dlfo_map_end)
+ {
+ support_record_failure ();
+ printf ("%s:%d: error: %p: map end is %p, expected %p\n",
+ __FILE__, line,
+ address, actual.dlfo_map_end, expected->dlfo_map_end);
+ }
}
if (actual.dlfo_link_map != expected->dlfo_link_map)
{