diff options
| author | Ulrich Drepper <[email protected]> | 2005-08-16 04:23:02 +0000 |
|---|---|---|
| committer | Ulrich Drepper <[email protected]> | 2005-08-16 04:23:02 +0000 |
| commit | 61655e08ba36430de47381cefdf10d0c26aa8480 (patch) | |
| tree | 27844ed1595b2a0c3fbd0cc72f294117e1f3b770 | |
| parent | e5294612b9ea64b36b9c5d41b497d371d05d5a11 (diff) | |
Relax elflint a bit more.
| -rw-r--r-- | src/ChangeLog | 3 | ||||
| -rw-r--r-- | src/elflint.c | 14 |
2 files changed, 5 insertions, 12 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0e7e6835..6aa7e7f8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2005-08-15 Ulrich Drepper <[email protected]> + * elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be + undefined. + * Makefile.am: Add rules to build ranlib. * ranlib.c: New file. diff --git a/src/elflint.c b/src/elflint.c index 53abf849..206a82b3 100644 --- a/src/elflint.c +++ b/src/elflint.c @@ -2053,17 +2053,7 @@ section [%2d] '%s': symbol %d: cannot read version data\n"), /* 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) @@ -2071,7 +2061,7 @@ section [%2d] '%s': symbol %d: undefined symbol with local scope\n"), 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. */ |
