diff options
Diffstat (limited to 'elf/dl-lookup.c')
-rw-r--r-- | elf/dl-lookup.c | 19 |
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. */ |