diff options
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-lookup.c | 1 | ||||
-rw-r--r-- | elf/do-lookup.h | 12 |
2 files changed, 9 insertions, 4 deletions
diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c index 16173c9068..7646587833 100644 --- a/elf/dl-lookup.c +++ b/elf/dl-lookup.c @@ -18,6 +18,7 @@ Boston, MA 02111-1307, USA. */ #include <alloca.h> +#include <assert.h> #include <string.h> #include <unistd.h> #include <elf/ldsodefs.h> diff --git a/elf/do-lookup.h b/elf/do-lookup.h index 01ad29345e..147560bd32 100644 --- a/elf/do-lookup.h +++ b/elf/do-lookup.h @@ -99,10 +99,14 @@ FCT (const char *undef_name, unsigned long int hash, /* 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. */ - if (version->filename != NULL - && _dl_name_match_p (version->filename, map)) - return -2; + 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 |