From: Florian Weimer Date: Mon, 17 Jan 2022 08:57:19 +0000 (+0100) Subject: elf/tst-dl_find_object: Disable subtests for non-contiguous maps (bug 28732) X-Git-Tag: glibc-2.35~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=06200aac9bec34dbcac28b8c60e49a77e7851c1f;p=thirdparty%2Fglibc.git elf/tst-dl_find_object: Disable subtests for non-contiguous maps (bug 28732) Reviewed-by: H.J. Lu --- diff --git a/elf/tst-dl_find_object.c b/elf/tst-dl_find_object.c index 855d0fc7352..6d2a2ffd1c6 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) {