]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
elf/tst-dl_find_object: Disable subtests for non-contiguous maps (bug 28732)
authorFlorian Weimer <fweimer@redhat.com>
Mon, 17 Jan 2022 08:57:19 +0000 (09:57 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Mon, 17 Jan 2022 08:58:27 +0000 (09:58 +0100)
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
elf/tst-dl_find_object.c

index 855d0fc73521ef8bc8d8583b633f6c099e8f36b3..6d2a2ffd1c6b05463529f159a9fdb042210f6b03 100644 (file)
@@ -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)
     {