about summary refs log tree commit diff
path: root/elf/dl-lookup.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-lookup.c')
-rw-r--r--elf/dl-lookup.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
index 19ad2a25c5..6d74332c0f 100644
--- a/elf/dl-lookup.c
+++ b/elf/dl-lookup.c
@@ -93,22 +93,9 @@ check_match (const char *const undef_name,
   const ElfW(Half) *verstab = map->l_versyms;
   if (version != NULL)
     {
-      if (__glibc_unlikely (verstab == NULL))
-	{
-	  /* We need a versioned symbol but haven't found any.  If
-	     this is the object which is referenced in the verneed
-	     entry it is a bug in the library since a symbol must
-	     not simply disappear.
-
-	     It would also be a bug in the object since it means that
-	     the list of required versions is incomplete and so the
-	     tests in dl-version.c haven't found a problem.*/
-	  assert (version->filename == NULL
-		  || ! _dl_name_match_p (version->filename, map));
-
-	  /* Otherwise we accept the symbol.  */
-	}
-      else
+      /* If there is no version information, accept the symbol.  This
+	 can happen during symbol interposition.  */
+      if (__glibc_likely (verstab != NULL))
 	{
 	  /* We can match the version information or use the
 	     default one if it is not hidden.  */