2005-08-15 Ulrich Drepper <drepper@redhat.com>
+ * elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
+ undefined.
+
* Makefile.am: Add rules to build ranlib.
* ranlib.c: New file.
/* Already reported elsewhere. */
continue;
- if (*versym == VER_NDX_LOCAL)
- {
- /* Local symbol. Make sure it is defined unless the
- reference is weak. */
- if (sym->st_shndx == SHN_UNDEF
- && GELF_ST_BIND (sym->st_info) != STB_WEAK)
- ERROR (gettext ("\
-section [%2d] '%s': symbol %d: undefined symbol with local scope\n"),
- idx, section_name (ebl, idx), cnt);
- }
- else if (*versym == VER_NDX_GLOBAL)
+ if (*versym == VER_NDX_GLOBAL)
{
/* Global symbol. Make sure it is not defined as local. */
if (GELF_ST_BIND (sym->st_info) == STB_LOCAL)
section [%2d] '%s': symbol %d: local symbol with global scope\n"),
idx, section_name (ebl, idx), cnt);
}
- else
+ else if (*versym != VER_NDX_LOCAL)
{
/* Look through the list of defined versions and locate the
index we need for this symbol. */