diff options
| author | Ulrich Drepper <[email protected]> | 2009-04-29 14:05:44 -0700 |
|---|---|---|
| committer | Ulrich Drepper <[email protected]> | 2009-04-29 14:05:44 -0700 |
| commit | c803fbe6c3fa15d08dee1c99948ec66326db1e9e (patch) | |
| tree | b182d207c6d231cf5db517cb43a981cde5d41424 /src/elflint.c | |
| parent | 8a3b0fae08eb62a1657d4f4e4b8083fe3e1a4f9e (diff) | |
Add test of st_other field of symbol table entries.
Diffstat (limited to 'src/elflint.c')
| -rw-r--r-- | src/elflint.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/elflint.c b/src/elflint.c index 7ddf3a9a..c04ae57f 100644 --- a/src/elflint.c +++ b/src/elflint.c @@ -976,6 +976,17 @@ section [%2d] '%s': _DYNAMIC symbol size %" PRIu64 " does not match dynamic segm } } } + + if (GELF_ST_VISIBILITY (sym->st_other) != STV_DEFAULT + && shdr->sh_type == SHT_DYNSYM) + ERROR (gettext ("\ +section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-default visibility\n"), + idx, section_name (ebl, idx), cnt); + if ((sym->st_other ^ GELF_ST_VISIBILITY (sym->st_other)) != 0) + ERROR (gettext ("\ +section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"), + idx, section_name (ebl, idx), cnt); + } } |
